0

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

谢谢你。

4

1 回答 1

2

您的查询似乎有问题。你为什么不把你的数据库从 postgreSql 更改为 MySQL,看看问题是否仍然存在。我不相信这里的问题在于 RDBMS 服务。

于 2013-01-15T00:41:16.203 回答