通過FileUpload實現檔案的上傳

2021-07-13 16:33:27 字數 1446 閱讀 5024

閒話不多說,直接上**:

當我們使用上傳時,需要通過form表單的post提交,並且設定表單屬性

enctype="multipart/form-data",該屬性的表示表單向伺服器傳送的是二進位制資料,這樣就能夠實現檔案內容傳輸到後台伺服器,同時表單的其他屬性也會用二進位制傳輸,那麼request.getparameter()是不能獲取表單內的資料的,那麼該怎麼獲取上傳的檔案和其他屬性呢?請繼續向下閱讀。

// 判斷表單提交方式是不是multipart/form-data

boolean ismultipart = servletfileupload.ismultipartcontent(request);

//設定編碼方式,防止中文亂碼

request.setcharacterencoding("utf-8");

/**

* diskfileitemfactory使用者建立快取檔案的類

* 1.當上傳的檔案專案比較小時,直接儲存在記憶體中(速度比較快)。

* 2.當上傳的檔案專案比較大時,以臨時檔案的形式,儲存在磁碟臨時資料夾(雖然速度慢些,但是記憶體資源是有限的)。

*/diskfileitemfactory factory = new diskfileitemfactory();

// 設定存放快取的資料夾

factory.setrepository(new file("d:\\cache"));

// 設定快取臨界值,當上傳檔案大於該值,檔案將快取只快取資料夾中,此處臨界值為4kb

factory.setsizethreshold(1024 * 4);

// 建立用於獲取上傳檔案的操作類

servletfileupload upload = new servletfileupload(factory);

// 設定最大檔案尺寸,這裡是4mb

upload.setsizemax(4*1024*1024);

listitems = null;

boolean writetofile = true;

try else else

result = new string(out.tobytearray());

system.out.println(result);

} }

}} catch (fileuploadexception e1) catch (exception e)

items =upload.parserequest(new servletrequestcontext(request));

網上大部分都使用的upload.parserequest(request)當然我相信聰明的小夥伴們早就發現了此處的問題,我也是在此處查閱的大多數資料才發現,好了,fileupload的上傳已經搞定了,是不是很簡單啊!

Fileupload實現檔案上傳

在實際開發中,經常會遇到包含檔案上傳的表單,採用fileupload可以處理這種表單。需要的jar包為commons fileupload.jar和commons io.jar.需要注意的是,表單的enctype屬性必須設定為multipart form data,method屬性為必須為post....

FileUpload實現檔案上傳

前端使用的是layui的方式傳過來的form date資料。當時想做的是可以前端傳乙個路徑,上傳的路徑儲存在這個裡面 class upload btn 上傳檔案div class file loading class layui icon layui icon loading layui icon ...

使用FileUpload實現多個檔案同時上傳

asp panel id panel1 runat server height 50px width 302px asp fileupload id ful runat server input id file1 runat server type file asp panel div asp te...