image - Grails Controller :如何从字节数组渲染图像

标签 image grails bytearray httpbuilder

我有字节数组byteImg,但我想从字节数组在 Controller jpeg中进行渲染:

    def getSelfie = new HTTPBuilder()
    getSelfie.request(fullSelfieUrl, GET, JSON) { req ->
        headers.'X-DreamFactory-Session-Token' = session_id
        headers.'X-DreamFactory-Application-Name' = 'checkReg'
        response.success = { resp, reader ->
            assert resp.statusLine.statusCode == 200
            println "Get response: ${resp.statusLine}"
            println "Content-Type: ${resp.headers.'Content-Type'}"
            resp = reader as grails.converters.JSON

            String str = resp.toString()
            JSONObject jsonObject = new JSONObject(str)
            selfieRend = jsonObject.getString("selfie")
            byteImg = selfieRend.getBytes()

            render byteImg
            return byteImg
        }
        response.'404' = {
            println 'Information not found'
        }
    }

怎么做?非常感谢

最佳答案

我还没有测试过,但是按照wiki,它应该可以工作:

def getSelfie(){
  def http = new AsyncHTTPBuilder(
            poolSize : 4,
            uri : fullSelfieUrl,
            contentType : ContentType.JSON )

  def result = http.get() { resp, json -> json.selfie.bytes }

  while( !result.done ) Thread.sleep 1000

  def bytes = result.get()

  response.setHeader 'Content-disposition', "inline; filename=someName.jpg"
  response.setHeader 'Content-Type', 'image/jpg'
  response.outputStream.withStream{ it << bytes }
}

关于image - Grails Controller :如何从字节数组渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34371245/

相关文章:

java - 将字节插入字节数组

java - 图像名称和扩展名

html - 调整图像大小,保持比例,html?

c# - 如何在 C# 中将字节数组转换为 double 组?

javascript - 如何从Javascript或JQuery获取Grails中的 Action 名称(或 View 名称)

grails - 在Grails中创建条件

java - 如何在 C# 和 Java 中获得相同的 byte[]

css - 通过 CSS 在图像上水平居中文本

css - Bootstrap网格图像问题高度元素

amazon-web-services - 如何使用Java SDK获取AWS Quicksight仪表板的嵌入URL