JFinal文件上传问题

发布于 2021-11-30 13:23:19 字数 1277 浏览 907 评论 4

新手刚学习JFianl 遇见一个问题,关于文件上传的:

UploadFile uploadFile = getFile("file")或者UploadFile uploadFile = getFile(getPara("file"));
如果这样写默认上传到web根目录下的upload文件夹下eg:
E:IDEAMyProjectJfinal_uploadoutartifactsJfinal_upload_war_explodedupload 上传成功


UploadFile uploadFile = getFile("file","temp")或者UploadFile uploadFile = getFile(getPara("file"),"temp");
如果这样写会上传到web根目录下的upload文件夹下的temp文件夹下eg:
E:IDEAMyProjectJfinal_uploadoutartifactsJfinal_upload_war_explodeduploadtemp 上传成功




UploadFile uploadFile = getFile("file",PathKit.getWebRootPath()+File.separator+"temp")或者UploadFile uploadFile = getFile(getPara("file"),PathKit.getWebRootPath()+File.separator+"temp");
这样会报java.lang.RuntimeException,提示找不到路径或者不能创建目录
生成的上传路径竟然是这样的eg:
E:IDEAMyProjectJfinal_uploadoutartifactsJfinal_upload_war_explodedupload

E:IDEAMyProjectJfinal_uploadoutartifactsJfinal_upload_war_explodedtemp 上传失败

这样的地址是默认的上传地址,在加上自己设置的上传路径


我不明白既然可以自定义上传文件路径,怎么又会加上默认的上传路径,这样有什么意义嘛?看了源码不是很理解,还有既然getFile()返回的是一个UploadFile对象,获取他的属性的时候报空指针,eg:不能获取fileName,不能获取originalFileName,只能获取上传的路径而且获取的是绝对路径类似上面的地址一样。假如我上传的是图片上传到服务器之后,把地址存在数据库中,页面加载的时候从数据库读取这个地址,使用img标签显示会报错。不能加载本地资源,这个我知道肯定是我存的路径的问题,这个好修改但是不明白,这个默认路径怎么回事?求各位大神解救

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

檐上三寸雪 2021-12-01 11:23:26

还不是很理解,那我该怎么样去使用,既然使用UploadFile获取的文件路径是默认的加上自己自定义的路径,那么存数据库我是不是还要在截取啊

瑾夏年华 2021-12-01 09:44:45

回复
不需要了。就是你的本地相对路径。

做个少女永远怀春 2021-12-01 02:26:26

回复
如果是图片使用img标签显示图片那就报错。

晚风撩人 2021-12-01 01:32:21

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

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

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

这样不是更麻烦么...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文