前台上传多个文件,后台分别用getFile处理时,文件保存路径将以第一个处理的文件路径为准,比如第一个文件的处理方法是:
UploadFile upZipFile = null; try{
upZipFile = this.getFile("article.zipFile", "files/"+sdf.format(new Date()),102410241024,"UTF-8");
}catch(Exception e){
e.printStackTrace();
}
第二个文件的处理方法是:
UploadFile upImgFile = null;
try{
upImgFile = this.getFile("article.img", "pic/"+sdf.format(new Date()),102410241024,"UTF-8");
}catch(Exception e){
e.printStackTrace();
}
得到结果是文件都被上传到了upload/files/路径下,第二个文件指定的pic/路径将无效,不管指定的路径是否相对路径都有这个问题。
多文件同时上传时,第一个被指定的路径才有效,后面指定的路径就无效,这是因为 jfinal 使用了 cos.jar 来帮助文件解析上传文件,cos.jar 在解析时会将所有文件保存到第一次指定的路径之下。建议使用 getFile().rename(...) 再次改变一下文件路径。######回复 @ohaozy : 请问怎样处理的getFile().reNameTo这方法用了还是保存到同一文件夹下######回复 @ohaozy : jfinal 当前需要改进的地方做的备忘已经聚集了很多,目前正在根据优先级逐一设计实现,一步步来,你的建议已经列入备忘,后续版本会逐步完善这些细节######波总提的处理方案当然是没有问题的,但是这个其实是JFinal应该处理的问题,既然用户传了文件路径参数,就应该有责任和义务把这个问题在框架内做自动做处理,而不是因为用了什么导致的结果。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。