springmvc 檔案上傳

2021-10-01 01:34:31 字數 2801 閱讀 4458

表單的enctype取值必須是:multipart/form-data

method屬性值必須是post

提供乙個檔案選擇域:

>

>

commons-fileuploadgroupid

>

>

commons-fileuploadartifactid

>

>

1.3.1version

>

dependency

>

>

>

commons-iogroupid

>

>

commons-ioartifactid

>

>

2.6version

>

dependency

>

>

>

com.sun.jerseygroupid

>

>

jersey-coreartifactid

>

>

1.19version

>

dependency

>

>

>

com.sun.jerseygroupid

>

>

jersey-clientartifactid

>

>

1.19version

>

dependency

>

在使用檔案上傳時,需要在springmvc.xml中配置檔案解析器

"multipartresolver"

class

="org.springframework.web.multipart.commons.commonsmultipartresolver"

>

bean

>

註解已經寫的很詳細,就不多贅述了

//解析request物件,獲取上傳檔案項

diskfileitemfactory factory =

newdiskfileitemfactory()

; servletfileupload upload =

newservletfileupload

(factory)

;//解析request

list

filelist = upload.

parserequest

(request)

;//遍歷

for(fileitem item : filelist)

else

}return

"success"

;}

system.out.

println

("檔案上傳....");

//上傳位置

string path =

"c:\\files"

; system.out.

println

(path)

; file file =

newfile

(path);if

(!file.

exists()

)//獲取檔名

string filename = upload.

getoriginalfilename()

;//避免相同檔案背覆蓋,設定檔名稱為唯一值

string uuid = uuid.

randomuuid()

.tostring()

.replace

("-",""

);filename = uuid+

"_"+filename;

//上傳檔案

upload.

transferto

(new

file

(path,filename ));

return

"success"

;

跨伺服器上傳的意思就是將應用伺服器和檔案伺服器分開,當檔案上傳到應用伺服器時,應用伺服器將檔案轉到檔案伺服器上。

這裡只是演示,實際上應該不可能這樣用

首先需要建立第二個伺服器用來儲存上傳的檔案,在idea上建立乙個model該model什麼都不做,只負責儲存上傳的檔案

出現409錯誤碼,可能是你儲存檔案的資料夾不存在,手動建立即可,或者在**處進行判斷,資料夾不存在就建立

springmvc檔案上傳

上 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 param fname 檔名稱 含字尾 throws ioexception down...

spring mvc 檔案上傳

在檔案上傳時,我們需要用到檔案上傳解析器,其實,它並不陌生,只是對httpservletrequest的乙個擴充套件,使其能夠更好的處理檔案上傳,擴充套件的介面名為 org.springframework.web.multipart.multiparthttpservletrequest 先用乙個類...

Springmvc 上傳檔案

springmvc為檔案上傳提供了直接支援,通過multipartresolver實現。預設沒有裝配multipartresolver,需要先在上下文中配置multipartresolver。1 需要的jar包 commons iogroupid commons ioartifactid 2.4ve...