上傳原理
有jsp頁面發出request請求到前端控制器,然後交由springmvc的配置檔案解析器解析request請求,拿到上傳檔案項返回upload到前端控制器,upload通過引數繫結方式交由controller中的方法。
springmvc提供了乙個multiparfile類,表示上傳檔案的那個物件,需要在方法中定義乙個這個類的物件(就指檔案上傳項)就可以完成檔案上傳。
springmvc解析工作已經做好,只需要在springmvc配置檔案中進行配置就可以拿到檔案項直接上傳。
**如下
1.jsp檔案
傳統上傳檔案<
/h1>
"user/fileupload1" method=
"post" enctype=
"multipart/form-data"
>
選擇檔案:"file" name=
"upload"
/>
>
"submit" value=
"上傳檔案"
/>
<
/form>
springmvc上傳檔案<
/h1>
"user/fileupload2" method=
"post" enctype=
"multipart/form-data"
>
選擇檔案:"file" name=
"upload"
/>
>
"submit" value=
"上傳檔案"
/>
<
/form>
<
/body>
2.controller類
/*
* 傳統檔案上傳
// 建立磁碟檔案項工廠
diskfileitemfactory factory =
newdiskfileitemfactory()
; servletfileupload fileupload =
newservletfileupload
(factory)
;// 解析request
list
items = fileupload.
parserequest
(request)
;// 遍歷
for(fileitem item:items)
else
}return
"success";}
/* * springmvc檔案上傳
// 建立磁碟檔案項工廠
diskfileitemfactory factory =
newdiskfileitemfactory()
; servletfileupload fileupload =
newservletfileupload
(factory)
;// 說明上傳檔案項
// 獲取上傳檔案的名稱
string filename = upload.
getoriginalfilename()
;//把檔案的名稱設定唯一值uuid
string uuid=uuid.
randomuuid()
.tostring()
.replace
("-",""
);filename = uuid+
"_"+filename;
// 完成檔案上傳
upload.
transferto
(new
file
(path,filename));
return
"success"
;}
3.springmvc配置檔案
<
!--開啟註解掃瞄--
>
package
="com.selan"
>
<
/context:component-scan>
<
!--視**析器--
>
"internalresourceviewresolver"
class
="org.springframework.web.servlet.view.internalresourceviewresolver"
>
"prefix" value=
"/pages/"
>
<
/property>
"suffix" value=
".jsp"
>
<
/property>
<
/bean>
<
!--前端控制器,哪些靜態資源不攔截--
>
"/js/**"
/>
<
!--配置檔案解析器--
>
"multipartresolver"
class
="org.springframework.web.multipart.commons.commonsmultipartresolver"
>
"maxuploadsize" value=
"10485760"
>
<
/property>
<
/bean>
<
!--開啟sringmvc框架註解的支援 生效型別轉換--
>
>
springmvc非同步上傳及多檔案上傳
應用場景 上傳相簿功能,上傳縮圖等,後台的功能需要改動的不多 controller public class filecontroller catch ioexception e 返回集合 return filenames 實現多檔案上傳,只需要在後台傳參時使用乙個陣列接參就好了,下面是前端的 要實...
SpringMVC 單個檔案上傳及呼叫
springmvc 在實際使用中很容易碰到檔案上傳伺服器及呼叫伺服器檔案的需求,我在開發專案的時候也碰到了這個問題。我將以 jpg 格式的為例來介紹這兩個功能的實現。1.form 標籤的設定 首先,要更該 form 標籤的屬性 重點是 enctype 與 method 需如 所示。我建議用 subm...
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...