当我们在web应用中上传图片的时候,一般都会使用绝对路径进行图片的上传。
在将项目打成war包放到linux服务器的时候,路径变了,运行环境也变了,上传图片的功能自然也完成不了。
最开始我放大了Windows系统和Linux系统的差异,但其实都是直接复制绝对路径就好了。
找到linux中apche的目录,然后进入webapps
找到自己的项目,我的项目为了默认进入直接起名叫ROOT了,然后逐级进入该项目的【WEB-INF】、【classes】、【static】、【upload】(这个upload是我自己创建的上传图片的文件夹)
将这个路径复制下来
/usr/local/tomcat/apache-tomcat/webapps/ROOT/WEB-INF/classes/static/upload
再应用到程序中就可以 了,我使用的是放到properties文件中这种方式进行替换的。
#windows上传图片路径
#file.uploadFolder=E:/code/IDEA co de/BMS/src/main/resources/static/upload
#linux上传图片路径
file.uploadFolder=/usr/local/tomcat/apache-tomcat/webapps/ROOT/WEB-INF/classes/static/upload;
然后将程序打成war包重新部署就可以了。
意外的发现,项目部署到服务器之前,上传完图片后还需要在idea中ctrl+f9重新加载静态资源之后图片才能正常进行显示。
但是部署到linux后,就变得正常起来了。很迷奥。