image - 使用Grails显示图像文件

标签 image grails plugins

我的意图是显示图像,其结构应为:/ images / username /。我的理解是在数据库中将“完整的文件名,例如路径和文件名”保留为String。我正在使用Grails 2.4.4 ...

我已经阅读了许多有关此主题的文章,没有找到解决我问题的方法...

当我将图像放置到目录appname / web-app / images时,可以使用以下命令在.gsp中轻松对其进行显示:

`<img src="${resource(dir: 'images', file: 'image.jpg')}" alt="Image"/>

但是当我尝试创建所需的结构时,例如/ images / username /
-定义appname / web-app / images / username的子目录
-在此目录中部署文件image.jpg
-在gsp中使用以下命令:
<img src="${resource(dir: 'images/username', file: 'image.jpg')}" alt="Image"/>

图像的生成的html链接指向localhost:8080 / appname / images / username / image.jpg,但未显示任何内容

我进行了调查,发现应用程序服务器上的内容是什么,如果我在 Controller 中以编程方式创建子目录,则会发现:
def home (){
  def baseFolder = grailsAttributes.getApplicationContext().getResource("/").getFile().toString()
  def imagesFolder = baseFolder + '/images/username'
  def tempFile=new File(imagesFolder)
  tempFile.mkdir()
....

并将文件image.jpg放在该gsp命令myslef目录中:
<img src="${resource(dir: 'images/username', file: 'image.jpg')}" alt="Image"/>

Grails显示图像

我做错了什么?如何以某些文件系统结构显示图像,我将这些图像保存在数据库中?

只有“通过 Controller ”的方式,例如:grails display images in folder

通常,我想知道您对图像上传和显示真正可行的“最佳实践”的建议。通过研究stackoverflow,我知道有两种方法:
-将镜像保存在文件系统中(性能影响低,安全性,部署性低吗?)
-将镜像保存在数据库中(性能影响,合理的安全性和部署)
哪种方法最适合具有数千个图像的应用程序?由于性能影响,我的观点是第一选择,但我可能会误会...

我知道,有用于图像处理的Grails插件(Burning Image,...)。由于我的应用程序中包含大量图片,因此我将不得不“标准化图片大小”,例如降低某些下载图像的质量或尺寸。
你能推荐我使用插件吗?是否可以提供使用该插件的“完全正常工作的示例”代码的链接?

非常感谢您的帮助和支持

最佳答案

最后,我在InteliJ Idea IDE上测试了我的代码,一切正常。然后,我在详细说明为什么无法在GGTS上成功运行我的代码,发现一旦更改图像文件位置的结构,我必须“重建”项目。

关于image - 使用Grails显示图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913750/

相关文章:

html - 如何删除带有背景图片的链接中的丑陋边框?

python - 如果使用OpenCV的HoughCircles,是否有推荐的方法来确定minRadius以便在图像中找到1个圆?

javascript - 使用窗口动态缩放/居中图像

email - Grails 中邮件插件的外部化属性

grails - 如何将 Grails 2.1 迁移到 Grails 2.3 应用程序?

通过 Open Graph API 发布时,Facebook 墙贴图片不会呈现

ajax - Grails选择RemoteFunction不起作用?

plugins - 动态更改 IntelliJ IDEA 插件中的状态栏图标

iphone - 如何在 Mac 上模拟慢速互联网连接 (Edge/3g)。有火狐浏览器插件吗?

vim - vim 的 vcs 插件?