如果您将Webapp作为IDE项目运行并将上传的图像存储在IDE的项目空间中,则可能会发生这种情况。在IDE的项目文件夹中进行的外部更改(例如通过servlet代码)不会立即反映在已部署的服务器的工作文件夹中。仅当您触摸它(通过刷新项目)或通过复制它(碰巧发现)时,它才会被反映出来。
毕竟,将上传的文件存储在webapp的deploy文件夹中不是一个好主意。每当您重新部署Web应用程序时,这些文件将全部丢失,这仅仅是因为这些文件未包含在原始WAR文件中。
您需要将它们存储在webapp的deploy文件夹之外的其他固定路径下的某个位置
/var/webapp/uploads。您不应使用相对路径或
getRealPath()在其
File周围创建对象。只需使用固定路径即可。您始终可以将固定路径配置为上下文参数设置,VM参数,属性文件设置甚至JNDI条目。
然后,要将其提供给万维网,只需将该路径作为另一个docroot添加到服务器配置中即可。目前尚不清楚您使用的是哪台服务器,但是在Tomcat中,只需在上添加另一台服务器
<Context>即可
server.xml。



