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

Servlets Omnifaces FileServlet-更改图像的输出链接路径,servlets,omnifaces,Servlets,Omnifaces,我正在使用Omnifaces的FileServlet: 它工作正常,我的所有图像都显示在我的webapp中。 但是现在我想更改图像的链接,因为我想避免有人从另一个图像进入路径: 例如: 一个图像的路径为: myapp/imagesservlet/mypic1.jpg ->有人可以进来 myapp/imagesservlet/mypic2.jpg->并获得另一张图像 我的文件存储为: mypic类似于mypic1.jpg、mypic2.jpg 是否有机会更改路径并获得正确的图像?只需使用不可预知

我正在使用Omnifaces的FileServlet:

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

例如: 一个图像的路径为: myapp/imagesservlet/mypic1.jpg

->有人可以进来 myapp/imagesservlet/mypic2.jpg->并获得另一张图像

我的文件存储为: mypic类似于mypic1.jpg、mypic2.jpg


是否有机会更改路径并获得正确的图像?

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


如何在Java中自动生成随机字符串已在本问答中介绍:

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

如何在Java中自动生成随机字符串已包含在本问答中: