我正在开发Web项目,我在eclipse中的Web Contents文件夹下创建了一个名为“images”的文件夹。在该文件夹中,我存储用户上传的图像,并使用相对路径存储图像
“String webAppPath = request.getServletContext()。getRealPath(”/ images“)”。
但是当出于任何原因清理tomcat服务器时,“images”文件夹下存储的所有文件夹或图像都会被删除..
请建议是否有任何解决方案,以便不删除所有图像或文件夹。
答案 0 :(得分:0)
两条建议:
不要使用ServletContext.getRealPath
。这是一种架构错误的使用方法。它应该从servlet规范中清除。
将文件存储在部署目录 的某个位置,并且在取消部署时不会删除它们。
更新2017-01-23
为了将文件提供给您(在上传之后),您需要将部分网址空间映射到您的应用中。使用Tomcat 8及更高版本的最简单方法是使用资源映射器。
<Resources>
<PostResources base="/real/path/to/images"
className="org.apache.catalina.webresources.DirResourceSet"
webAppMount="/images" />
</Resources>
当客户端请求DefaultServlet
网址空间内的内容时,这会导致/real/path/to/images
提供/images
目录中的文件。