Java gsp,来自数组字节的图像

Java gsp,来自数组字节的图像,java,grails,gsp,Java,Grails,Gsp,我有一个JDO类和一个helper类映像来在字节数组中存储映像 JDO类: @PersistenceCapable class Recipe{ @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long key @Persistent private String description @Pers

我有一个JDO类和一个helper类映像来在字节数组中存储映像

JDO类:

@PersistenceCapable
class Recipe{

    @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Long key

        @Persistent
        private String description

        @Persistent(serialized = "true")
        private Image image;
}
图像类别:

class Image implements Serializable {

    private byte[] content
    private String filename
    private String mimeType
}
在gsp页面中,我反复浏览了菜谱,并希望显示图像。 我可以做一个像这样的控制器来获取图像src

 def viewImage= {
    //retrieve photo code here
    response.setHeader("Content-disposition", "attachment; filename=${photo.name}")
    response.contentType = photo.fileType //'image/jpeg' will do too
    response.outputStream << photo.file //'myphoto.jpg' will do too
    response.outputStream.flush()
    return;
  }
def viewImage={
//在这里检索照片代码
setHeader(“内容处置”、“附件;文件名=${photo.name}”)
response.contentType=photo.fileType//'image/jpeg'也可以

response.outputStream我这里有一个类似的用例,一个文件域类,包含一个字节[]和上传文件的元信息。要下载文件,我使用:

def fileDownload = {
    long id = params.id as long
    def file = File.get(id)
    assert file
    def fileName = URLEncoder.encode(file.name)
    response.addHeader("content-disposition", "attachment;filename=$fileName")
    response.contentType = file.contentType
    response.contentLength = file.data.size()
    response.outputStream << file.data
}
def文件下载={
long id=参数id为long
def file=file.get(id)
断言文件
def fileName=URLEncoder.encode(file.name)
addHeader(“内容处置”、“附件;文件名=$filename”)
response.contentType=file.contentType
response.contentLength=file.data.size()

response.outputStream嗨,谢谢你的回答。不过,我希望有另一个解决方案。对我来说,这个答案似乎是重复的。我的答案可能会有所帮助;)嗨,维克托。谢谢你的评论。我在这期文章中没有看到你的建议。但这看起来正是我在搜索的内容。我回家后会尝试一下。谢谢你说了很多好话,而不是一句好话单上表决xD