文件附件从grails 1.1-beta3升级到grails 1.1.1

时间:2009-05-23 16:07:46

标签: hibernate grails

这是一个相当具体的升级路径,但它就是我的目标。我想我也试过去1.1,并且有同样的问题,但不是100%肯定。

无论如何,我正在使用1.1-beta3并实施了文件上传/附件系统,如下所述:thegioraproject.com/2008/03/26/image-attachments-in-grails-using-imagemagick/

我有一个'broker'对象,它有一个'logo'(定义为Image域)。图像和附件(父类)按照上面的URL中的定义完成。

在brokerController中,我有这样的代码:

    def file = new Image()
    def f = params.logo
    if(f.size>0) {
        file.setFile(f)
        file?.save(flush:true)
        brokerUserInstance.logo?.delete()
        brokerUserInstance.logo = file
    }

'logo'是表单中上传文件的名称。在此代码之后,有更多标准grails CRUD代码(brokerUserInstance.properties=paramsbrokerUserInstance.save()等)。

这在1.1-beta3中运行良好。我可以上传一个图像,它会被缩略图并附加到域中就好了(数据库中的关系等等)。当我更新代理对象而不上传新图像时,旧图像保持不变。

转到grails 1.1.1,当我尝试上传新图片时,我得到:

Error 500: org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: Image; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: Image

如果我没有上传图片,我会得到:

[org.springframework.web.multipart.commons.CommonsMultipartFile] to required type [Image] for property logo; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [org.springframework.web.multipart.commons.CommonsMultipartFile] to required type [Image] for property logo: no matching editors or conversion strategy found

我能在这个问题上找到相当多的0。在1.1-beta3中运行良好,但在1.1.1(也可能是1.1)中发生了一些变化(显着)。

任何建议/想法/帮助?我很乐意授予某人服务器访问权限,以帮助调试。

谢谢:)

0 个答案:

没有答案