在play框架中显示图片附件的最佳方式?

时间:2012-02-22 14:10:07

标签: java playframework

我正在使用playframework-1.2.3,我的数据模型如下所示:

public class Item extends Model {
  ...
  public Blob img;
}

图像存储在我的系统中没有扩展名(如“0f4fb5da-ed95-4c22-b3ec-725489285848”)。

我按照导师的方式显示图像:

<img src="@{items.getImg(i.id)}" height="210px"/>

但我想要的不是每次显示它时都要求控制器,有没有办法让我用静态文件链接显示图像?

这可能需要两个步骤: 1.带有扩展名的存储图像。 2.在/ public下更改文件附件目录。

那么,任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

通过你的控制器有没有真正的问题?这实际上为您提供了更好的抽象级别。

但是,如果您确实想要静态地执行此操作,则可以创建新的staticDir路由,而不是将图像移动到公用文件夹中。例如

GET    /img/               staticDir:usrImages

如果您需要任何级别的安全性而不是谁可以看到这些图像,我会提醒您不要使用这样的公共访问方法。使用控制器可以进行会话检查,以确保用户具有查看图像的适当权限。

编辑 - 我建议您阅读彼得希尔顿的博客 - http://www.lunatech-research.com/playframework-file-upload-blob