Jfinal附件上傳與重新命名

2022-08-30 17:12:12 字數 1431 閱讀 9402

寫文字太費勁,直接上**

前台**:

選擇附件:    

提交這裡需要注意在form中必須指明編碼格式:enctype="multipart/form-data"   設定表單的mime編碼,預設情況下

注意:在以上這種編碼的情況下,因為上傳的是二進位制資料,所以request是得不到輸入框資料的,我們可以通過上傳元件獲取表單中的輸入資訊。

後台**:

在jfinal中以上三句就已經完成了檔案上傳,當然,我們的前提是在lib中引入cos-26dec2008.jar包

以上採用getfile方法實現上傳單個檔案,還可以通過getfiles實現批量上傳

以上getfile 引數1是表單file的網域名稱稱

引數2是上傳檔案存放的絕對路徑

引數3是檔案的最大長度[即檔案的大小]

引數4是指定檔案編碼

上傳的檔案自定名稱儲存

1.在檔案進行儲存時進行修改檔案命名

2.先完成檔案上傳再進行重新命名

根據本人的實際情況[俺還不是高手],選擇第二種方案比較靠譜,因為第一種方案需要我們對jfinal相關jar包進行自定義或重寫相關方法再打包再使用。

第二種方案實現也就一句話,很方便如下:

...緊接以上的**段

file f = upfile.getfile();

f.renameto(file

file);

這樣就實現了對所上傳的檔案的重新命名,這裡的重新命名檔案寫法如:

這裡用的是時間戳命名。type是檔案型別:如jpg,doc[這個可以自己想辦法擷取]

注意啦----有個小重點

這裡還有乙個關鍵問題就是form中的非file域的值的獲取

jfinal中我們獲取表單中的文字域中與url傳遞引數的值相當方便,getpara()就可以了,但是上面我們已經說了二進位制值這種獲取方式用不上,具體獲取辦法如下:

string para=

getmultipartrequest().getparameter("para");

這裡還要注意一點,以上獲取除file型別的文字域以外的字段值時,我們必須保證檔案已經完成儲存,即getfile這個方法已經執行。

讀取上傳附件的內容與手動上傳附件

上圖中的截圖是el upload元件上傳附件後返回的內容,其中raw欄位的值便是檔案的資訊,如果我們想要讀取檔案中的具體資訊,用以下方式 1 let reader new filereader 2 reader.readastext file.raw 以字串的格式讀取檔案 3 reader.onlo...

實現wordpress上傳檔案自動重新命名

wordpress對於上傳的檔案預設不改變檔案的原名稱,有博主可能由於檔案量大而不願意逐個重新命名檔案,如果直接上傳的話,可能會導致中文檔名的檔案出現亂碼或其它問題,如果附件儲存在同乙個目錄,也可能導致檔名重複而被覆蓋。之前使用zblog dedecms等程式時,系統都會對上傳的檔案自動重新命名,搜...

檔案重新命名與修改長度

rename函式 重新命名 include int rename const char oldname,const char newname 返回值 成功返回0 反之返回 1 rename將oldname檔案更名為newname 如果newname指定的檔案已存在,則刪除newname檔案 重新命名...