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下会以项目根路径为基础路径的主要内容,如果未能解决你的问题,请参考以下文章

jfinal中对多文件同时上传是怎么解决的

linux 环境下tomcat中部署jfinal项目

JFinal常量配置学习笔记

jfinal常见问题

UMeditor上传图片配置

JFinal+ajaxfileupload实现图片的异步上传