表單的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...