我的应用程序具有在我的网站上显示的 jpg 图像文件。
在我的普惠制中,我这样做:
<img class="itemThumImage border-radius-top-3px" src="${createLink(controller:'item', action:'getImage', id:item.id)}" />
我的 ItemConroller 的 getImage 操作是:
def getImage() {
def item = Item.get(params.id)
def file = new File(grailsApplication.parentContext.servletContext.getRealPath(item.id))
response.setContentType("image/jpeg")
response.setHeader("Content-disposition", "filename=\"${item.id}.jpg\"")
response.setContentLength(fileBytes.size())
response.outputStream << file.readBytes()
response.outputStream.close()
}
这是将图像发送回浏览器的好方法吗?我认为图像已加载到堆中。我可以以某种方式加速这个过程吗?我需要close()
在最后一行还是它flush()
或两者兼而有之?