Omnifaces FileServlet - 更改图像的输出链接路径

时间:2016-09-11 13:48:35

标签: servlets omnifaces

我正在使用Omnifaces的FileServlet: http://showcase.omnifaces.org/servlets/FileServlet

它工作正常,我的所有图像都出现在我的webapp中。 但是现在我想从图像中更改链接,因为我想避免有人从另一个图像进入路径:

例如: 一张图片的路径是: 的myapp / imagesservlet / mypic1.jpg

- >有人可以进入 myapp / imagesservlet / mypic2.jpg - >并获得了另一张图片。

我的文件存储为: mypic喜欢mypic1.jpg,mypic2.jpg .....

有没有机会改变路径并获得正确的图像?

1 个答案:

答案 0 :(得分:0)

使用不可预测的自动生成的文件名。例如。 imgur也是这样做的。这个责任实际上超出了OmniFaces FileServlet,因为它所做的只是检查传入的文件名并提供它。您应该将传入的文件名更改为自动生成的文件名。如有必要,可以在其他地方保存原始文件名,例如在SQL数据库中,如果需要,可以与其他元数据(内容类型,大小等)一起使用,以便更有效地索引和搜索。

本Q& A中已经介绍了如何在Java中自动生成随机字符串:How to generate a random alpha-numeric string?