Grails应用程序图像路径?

时间:2014-06-14 14:33:01

标签: image grails directory

我是grails的新手,我正在尝试创建一个提供用户上传图片的应用程序,我想将图像URL存储在数据库中,并希望将图像存储在目录中,这样如果我想显示在gsp上传的图像是什么方式,我尝试使用img src =“$ {assetPath(src:'product /'+ it.img_url)}来获取图像,它工作得很好,这里的产品是一个保存的目录中的图像 “grails-app \ assets \ images \ product”目录,当我在产品目录中使用心脏编码的复制图像时,它可以正常工作,但我想让用户上传图像并保存在产品目录中。是正确的方法来保存资产\图像路径中的图像,或者我应该在web-app路径中保存图像,如果我错了什么是在目录中上传图像的方式以及在gsp页面中显示的方式

2 个答案:

答案 0 :(得分:3)

  

是在资产\图像路径中保存图像的正确方法,或者我应该在web-app路径中保存图像

不,将图像保存在Web应用程序本身中没有任何意义,因为重新部署应用程序时图像将丢失。相反,将它们保存在文件系统的某个位置,例如${HOME}/images

答案 1 :(得分:1)

当图像到达控制器时,您应该动态制作/tmp文件夹,如下所示。

environments {
    development {
        uploadFolder = "c:/temp/upload/"
    }
    test {
        uploadFolder = "c:/temp/upload/"
    }
    production {
        uploadFolder = "c:/temp/upload/"
    }
}

///在您的控制器上,您可以使用您的env设置

保存它
 documentInstance.fullPath = grailsApplication.config.uploadFolder + documentInstance.filename
            file.transferTo(new File(documentInstance.fullPath))