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