JFinal文件上传问题
新手刚学习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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
还不是很理解,那我该怎么样去使用,既然使用UploadFile获取的文件路径是默认的加上自己自定义的路径,那么存数据库我是不是还要在截取啊
回复
不需要了。就是你的本地相对路径。
回复
如果是图片使用img标签显示图片那就报错。
文件统一规范,统一处理就这么简单。
如果不做默认路径存到了tomcat/temp里面去。
你二次处理才可以移动到你的指定目录里。
这样不是更麻烦么...