在本地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:\WorkSpaces\wechat_dk\src\main\webapp\upload\D:/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这种形式的根路径