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才可以正常查看图片
你上传后吧存储路径打印出来,然后直接访问试试