web项目部署到linux之后上传图片立即访问404

图片说明web项目部署到linux之后上传图片立即访问404,重启tomcat才能访问正常。图片说明

问题解决了,首先说一下,楼上的兄弟说的很有道理,但是我这个项目是拿来维护的,所以不想大改和重构,我先说一下我这个问题的现象,我把项目根路径下的所有图片全部都移动到了/usr/local/uploadfiles目录下,而项目在/usr/local/tomcat/webapps/myproject里,所以我是通过tomcat的虚拟路径来映射图片的访问的。然后发现上传后的图片立即访问会报404,重启tomcat后再访问,就没问题。

为什么呢?1.重启后能访问图片,说明虚拟目录映射没问题,有问题的就是tomcat的配置了

2.检查tomcat配置

结果发现tomcat/conf/context.xml里

有这两个属性antiJARLocking="true" antiResourceLocking="true",把这两个属性去掉就好了,至于这俩货有什么作用大家自行百度、谷歌吧。图片说明图片说明

图片的存放路径使用了tomcat的虚拟目录,不是权限问题,chmod 777了已经,上传写入都没问题,就是刚上传完立即查看报404,重启tomcat才可以正常查看图片

你上传后吧存储路径打印出来,然后直接访问试试

参考下