最近做项目的时候遇到这个问题,于是开始研究。

1.问题起源:

是什么原因导致了问题的发生呢?其实是因为windows和linux路径不同。

windows下面文件的路径格式为 C:\Users\Lenovo\Desktop\新建文件夹

而linux下面文件的路径格式为     /opt/apache-tomcat-7/webapps/project/log


其实就是\和/的区别,由于文件上传成功在后端存文件绝对路径的时候是用的windows的方式,所以在windows没问题,但是到linux上面路径就错掉了


2.如何解决?


那么如何解决呢?其实让文件路径根据服务器的系统的不同而不同就可以了,而java已经给我们提供方法了 System.getProperty("file.separator")能根据系统的不同获取文件路径的分隔符

path=path+"\\"+dateDirName+"\\"+dirName;

变为

path=path+ System.getProperty("file.separator") +dateDirName+ System.getProperty("file.separator") +dirName;


更多推荐

javaweb文件上传路径在windows和linux上的兼容性问题