JFinal文件上传问题

火龙战士 发布于 2016/05/31 16:39
阅读 819
收藏 0

新手刚学习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标签显示会报错。不能加载本地资源,这个我知道肯定是我存的路径的问题,这个好修改但是不明白,这个默认路径怎么回事?求各位大神解救

以下是问题补充:

@火龙战士:使用的JFinal提供的上传文件jar:cos-26Dec2008.jar (2016/05/31 16:44)
加载中
0
tinshen
tinshen

文件统一规范,统一处理就这么简单。

如果不做默认路径存到了tomcat/temp里面去。

你二次处理才可以移动到你的指定目录里。

这样不是更麻烦么...

火龙战士
火龙战士
回复 @tinshen : 如果是图片使用img标签显示图片那就报错。
tinshen
tinshen
回复 @火龙战士 : 不需要了。就是你的本地相对路径。
火龙战士
火龙战士
还不是很理解,那我该怎么样去使用,既然使用UploadFile获取的文件路径是默认的加上自己自定义的路径,那么存数据库我是不是还要在截取啊
返回顶部
顶部