SpringMVC傳統方式實現檔案上傳

2021-10-18 07:37:13 字數 2016 閱讀 9725

當 form 表單的 enctype 取值為 mutilpart/form-data 時,請求正文內容就變成:

每一部分都是 mime 型別描述的正文

-----------------------------7de1a433602ac 分界符

content-disposition: form-data; name=「username」 協議頭aaa 協議的正文

-----------------------------7de1a433602ac

content-disposition: form-data; name=「file」;

filename=「c:\users\zhy\desktop\fileupload_demofile\b.txt」

content-type: text/plain 協議的型別(mime 型別)

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

-----------------------------7de1a433602ac–

使用 commons-fileupload 元件實現檔案上傳,需要匯入該元件相應的支撐 jar 包:

commons-fileupload 和commons-io。

commons-io 不屬於檔案上傳元件的開發 jar 檔案,

但commons-fileupload 元件從 1.1 版本開始,它

工作時需要 commons-io 包的支援

action

="/fileupload"

method

="post"

enctype

="multipart/form-data"

>

名稱:type

="text"

name

="picname"

/>

/>

:type

="file"

name

="uploadfile"

/>

/>

type

="submit"

value

="上傳"

/>

form

>

@controller("fileuploadcontroller")

public class fileuploadcontroller else

system.out.println(filename);

//2.獲取檔案路徑

servletcontext context = request.getservletcontext();

string basepath = context.getrealpath("/uploads");

//3.解決同一資料夾中檔案過多問題

string datepath = new ******dateformat("yyyy-mm-dd").format(new date());

//4.判斷路徑是否存在

file file = new file(basepath+"/"+datepath);

if(!file.exists())

//5.使用 mulitpartfile 介面中方法,把上傳的檔案寫到指定位置

uploadfile.transferto(new file(file,filename));

return "success";

}}

"multipartresolver"

name

="maxuploadsize"

>

>

5242880value

>

property

>

bean

>

注意:

檔案上傳的解析器 id 是固定的,不能起別的名稱,否則無法實現請求引數的繫結。(不光是檔案,其他欄位也將無法繫結

傳統方式和使用springmvc方式實現檔案上傳

傳統方式的檔案上傳 要引入元件fileupload包和io包 commons fileupload 1.3.1.jar commons io 2.4.jar 使用fileupload元件完成檔案上傳 上傳位置 string path request.getsession getservletcont...

檔案上傳 傳統方式,SpringMVC方式

傳統方式的檔案上傳 action user upload1 method post enctype multipart form data 選擇檔案 type file name upload type submit value 提交 解析request物件,獲取檔案上傳項 diskfileitem...

SpringMVC檔案上傳及傳統上傳方式

上傳原理 有jsp頁面發出request請求到前端控制器,然後交由springmvc的配置檔案解析器解析request請求,拿到上傳檔案項返回upload到前端控制器,upload通過引數繫結方式交由controller中的方法。springmvc提供了乙個multiparfile類,表示上傳檔案的...