我有一个简单的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())}”/>
谢谢。
答案 0 :(得分:2)
您的查询似乎遇到了麻烦。为什么不将db从postgreSql更改为MySQL,看看问题是否仍然存在。我不相信这里的问题是RDBMS服务。