【问题标题】:Grails Application Image Path?Grails 应用程序映像路径?
【发布时间】:2014-06-14 14:33:00
【问题描述】:
我是 grails 的新手,我正在尝试制作一个提供用户上传图像的应用程序,我想将图像 URL 存储在数据库中,并希望将图像存储在一个目录中,这样如果我想显示在 gsp 上传的图像中,我尝试使用 img src="${assetPath(src: 'product/' + it.img_url)} 来获取图像,效果很好,这里的产品是要保存的目录图片在
“grails-app\assets\images\product”目录,当我在产品目录中复制图像时它可以完美运行,但我想让用户上传图像并保存在产品目录中。将图像保存在 assets\image 路径中是正确的方法,或者我应该将图像保存在 web-app 路径中,如果我错了,在目录中上传图像的方式是什么,在 gsp 页面中显示的方式是什么
【问题讨论】:
标签:
image
grails
directory
【解决方案1】:
将图像保存在 assets\image 路径中是正确的方法,或者我应该将图像保存在 web-app 路径中
不,将图像保存在 Web 应用程序本身中没有任何意义,因为重新部署应用程序时图像会丢失。相反,将它们保存在文件系统的某个位置,例如${HOME}/images
【解决方案2】:
当图像到达您的控制器时,您应该立即创建一个/tmp 文件夹,如下所示。
environments {
development {
uploadFolder = "c:/temp/upload/"
}
test {
uploadFolder = "c:/temp/upload/"
}
production {
uploadFolder = "c:/temp/upload/"
}
}
///在您的控制器上,您可以使用您的环境设置保存它
documentInstance.fullPath = grailsApplication.config.uploadFolder + documentInstance.filename
file.transferTo(new File(documentInstance.fullPath))