Cloudfoundry:当应用程序在cloudfoundy上运行时,存储在数据库中的图像不会显示

时间:2013-01-07 09:02:44

标签: grails cloudfoundry

我有一个简单的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())}”/>

谢谢。

1 个答案:

答案 0 :(得分:2)

您的查询似乎遇到了麻烦。为什么不将db从postgreSql更改为MySQL,看看问题是否仍然存在。我不相信这里的问题是RDBMS服务。