我有一个简单的 Grails 应用程序,在部署到本地 Tomcat 服务器时运行良好。但是,当我部署到 Cloudfoundry 时,保存到数据库的图像没有显示。谷歌搜索解决方案只发现在 Cloudfoundry 上您不能(或不应该)使用本地文件系统来存储图像文件,但我正在使用数据库并写入控制器中的主存储器(输出流)。任何人都可以帮助。
以下是部分代码:
//图片域类
class Picture {
byte[] image
String mimeType
String name
static belongsTo = ...
static constraints = {
name(maxSize:20, )
image(maxSize:3145728)
....
}
String toString(){
...
}
}
//Picture controller
def image = {
def picture = Picture.get(params.id)
if(!picture || !picture.image){
...
}
else{
response.setContentType(picture.mimeType)
response.setContentLength(picture.image.size())
OutputStream out = response.getOutputStream();
out.write(picture.image);
out.flush();
out.close();
}
}
//在我的gsp中 <img width="128" height="96" class="image" src="${createLink(controller:'picture', action:'image', id:pictureInstance.ident())} " />
谢谢你。