我正在尝试使用以下内容显示存储在模型中的图像:
<img src="${createLink(controller:'attachments', action:'showImage', id: attachmentInstance.id)}" />
以下是控制器附件中的showImage方法:
def showImage= {
println "In showImage"
def attachmentInstance = Attachment.get(params.id)
byte[] b = attachmentInstance.image
response.setContentLength(b.length)
response.getOutputStream().write(b)
}
这是我的域类:
class Attachment {
byte[] image
String imageType
int imageSize
String attachmentType
String fileName
static mapping = {
image(sqlType: "blob")
columns {
'*'(nullable: true)
}
}
}
行动没有被执行,我有一个原子来改变它。
图像位于文件中,此代码已用于以前版本的Grails。
我做错了什么或有错误吗?
答案 0 :(得分:0)
旧版本的Grails控制器使用闭包而不是方法。较新的版本在控制器上使用实际方法而不是闭包。所以你的方法应该是:
def showImage() {
...
}
而不是
def showImage = {
...
}