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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM