Jfinal文件上傳基礎路徑問題,windows下會以項目根路徑爲基礎路徑

在本地windows下開發測試文件上傳java

使用com.jfinal.cos進行multipart/form-data請求數據格式的文件上傳解析web

import com.jfinal.upload.UploadFile;
。。。
List<UploadFile> upFile = this.getFiles(savePath);

我設置的savePath="D:/home/upload"windows

預想的狀況會默認將文件上傳到該路徑下app

java.lang.RuntimeException:  Directory D:\WorkSpaces\wechat_dk\src\main\webapp\upload\D:/home/upload/ not exists and can not create directory.webapp

at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:95)ide

正常狀況是發生報錯。測試

調試發現,源碼內部有一個BaseUploadPath變量做爲文件上傳的根路徑。而後一getFiles(savePath) savePath路徑爲相對路徑this

 

參考連接spa

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這種形式的根路徑

相關文章
相關標籤/搜索