Jfinal文件上传基础路径问题,windows下会以项目根路径为基础路径
Posted gne-hwz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jfinal文件上传基础路径问题,windows下会以项目根路径为基础路径相关的知识,希望对你有一定的参考价值。
在本地windows下开发测试文件上传
使用com.jfinal.cos进行multipart/form-data请求数据格式的文件上传解析
import com.jfinal.upload.UploadFile; 。。。 List<UploadFile> upFile = this.getFiles(savePath);
我设置的savePath="D:/home/upload"
预想的情况会默认将文件上传到该路径下
java.lang.RuntimeException: Directory D:WorkSpaceswechat_dksrcmainwebappuploadD:/home/upload/ not exists and can not create directory.
at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:95)
正常情况是发生报错。
调试发现,源码内部有一个BaseUploadPath变量作为文件上传的根路径。然后一getFiles(savePath) savePath路径为相对路径
参考链接
http://www.jfinal.com/feedback/914
jfinal 2.2 和3.0 getFile() 底层 MultipartRequest 类 反馈问题
解决方法
在JFinalConfig配置文件中,设置上传文件根路径为/
@Override public void configConstant(Constants me) {
... me.setBaseUploadPath("/");
... }
然后就可以随意设置变量savePath的根路径了。可以使用D:/xxx这种形式的根路径
以上是关于Jfinal文件上传基础路径问题,windows下会以项目根路径为基础路径的主要内容,如果未能解决你的问题,请参考以下文章