最近项目上线遇到一个问题:用户上传图片但是无法上传成功,查询了一下发现主要是文件路径问题,以此记录
原问题
java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.XXXXXXXXXXXXXXXXXXXXXXXXXXX.jpg (No such file or directory)
关键在于:No such file or directory
查阅网上各种说法,并且对每个路径进行打印调试,最后发现是相对路径和绝对路径的问题,
解决方法
- 需要在源代码File路径的基础上使用getAbsolutePath()以获取绝对路径(新建文件夹和写入文件都需要使用绝对路径)
- 绝对路径的全路径名前面要加 \
- 因为需要在服务器上新建文件夹,所以需要开放相应文件夹写入权限
修改前后代码
最后,
- 记得开放相应文件夹写入权限 !
- 记得开放相应文件夹写入权限 !
- 记得开放相应文件夹写入权限 !
在开放权限的时候,想把/www直接开放了,然后遇到了
好在仅开放子目录成功解决了问题!