我遇到的问题呢,大概长这样
提示是io错误。查了一下,大概有这么些解决办法,第一,tomcat根目录下没有temp文件夹,编辑器上传的时候需要用到,没有就会报错。第二,可能是服务器文件夹权限问题。
还有各种办法吧,改config.json的imagePathFormat等方法,都没起作用。最后没办法了我跟了一遍源码看看。
上传其实是通过controller.jsp里的这行代码上传的
点进去看看,然后到ActionEnter的这行代码,继续点进去
到BinaryUploader的这一行
然后到StorageManager的这一行
最后问题出在FileUtils的这一行。再往下是native方法。
如果renameTo方法成功,那就成功了。如果不成功,那么就走copyFile,打断点发现,其实文件已经成功上传了。然后是if括号里的srcFile.delete方法。这个方法只要成功,返回true,也可以,就是把临时文件删除,只保留上传到指定文件夹的文件就可以了。但是我就出错出在这里,不能删除,返回false,所以又把本来上传完成的文件通过下面的FileUtils.deleteQuietly方法删除了。不明白为什么。
总结一下,这里出错是这样的,首先renameTo方法不知道为什么不能成功,在别的项目里我试了试,是直接成功然后返回的。
然后就是srcFile.delete方法不能成功,不然的话就不会把成功上传的文件删除了。
如果有大佬知道的麻烦告诉我怎么回事,感谢。