新手刚学习JFianl 遇见一个问题,关于文件上传的:
UploadFile uploadFile = getFile("file")或者UploadFile uploadFile = getFile(getPara("file"));
如果这样写默认上传到web根目录下的upload文件夹下eg:
E:\IDEA\MyProject\Jfinal_upload\out\artifacts\Jfinal_upload_war_exploded\upload 上传成功
UploadFile uploadFile = getFile("file","temp")或者UploadFile uploadFile = getFile(getPara("file"),"temp");
如果这样写会上传到web根目录下的upload文件夹下的temp文件夹下eg:
E:\IDEA\MyProject\Jfinal_upload\out\artifacts\Jfinal_upload_war_exploded\upload\temp 上传成功
UploadFile uploadFile = getFile("file",PathKit.getWebRootPath()+File.separator+"temp")或者UploadFile uploadFile = getFile(getPara("file"),PathKit.getWebRootPath()+File.separator+"temp");
这样会报java.lang.RuntimeException,提示找不到路径或者不能创建目录
生成的上传路径竟然是这样的eg:
E:\IDEA\MyProject\Jfinal_upload\out\artifacts\Jfinal_upload_war_exploded\upload
\E:\IDEA\MyProject\Jfinal_upload\out\artifacts\Jfinal_upload_war_exploded\temp 上传失败
这样的地址是默认的上传地址,在加上自己设置的上传路径
我不明白既然可以自定义上传文件路径,怎么又会加上默认的上传路径,这样有什么意义嘛?看了源码不是很理解,还有既然getFile()返回的是一个UploadFile对象,获取他的属性的时候报空指针,eg:不能获取fileName,不能获取originalFileName,只能获取上传的路径而且获取的是绝对路径类似上面的地址一样。假如我上传的是图片上传到服务器之后,把地址存在数据库中,页面加载的时候从数据库读取这个地址,使用img标签显示会报错。不能加载本地资源,这个我知道肯定是我存的路径的问题,这个好修改但是不明白,这个默认路径怎么回事?求各位大神解救
文件统一规范,统一处理就这么简单。
如果不做默认路径存到了tomcat/temp里面去。
你二次处理才可以移动到你的指定目录里。
这样不是更麻烦么...
回复 @tinshen:如果是图片使用img标签显示图片那就报错。回复 @火龙战士:不需要了。就是你的本地相对路径。还不是很理解,那我该怎么样去使用,既然使用UploadFile获取的文件路径是默认的加上自己自定义的路径,那么存数据库我是不是还要在截取啊版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。