springboot(十七):使用Spring Boot上傳文件
上傳文件是互聯網中經常應用的場景之一,最典型的情況就是上傳頭像等,今天就帶著大家做一個Spring Boot上傳文件的小案例。
1,pom包配置
我們使用Spring Boot最新版本1.5.9,jdk使用1.8,tomcat8.0。
約會了??spring-boot-starter-thymeleaf做頁面模板引擎,寫一些簡單的上傳示例。
2,啟動類設置
tomcatEmbedded這段代碼是為了解決上傳文件大于10M出現連接重置的問題。此異常內容GlobalException也捕獲不到。
3,編寫前端頁面
發布頁面
非常簡單的一個Post請求,一個選擇框選擇文件,一個提交按鈕,效果如下:
發布結果展示頁面:
效果圖如下:
4,編寫上傳控制類
訪問本地自動轉發到上傳頁面:
發布業務處理
上面代碼的意思就是,通過??MultipartFile讀取文件信息,如果文件為空重定向到結果頁并提示;如果不為空讀取文件流并寫入指定目錄,最后將結果展示到頁面。
MultipartFile是Spring上載文件的封裝類,包含了文件的二進制流和文件屬性等信息,在配置文件中也可對相關屬性進行配置,基本的配置信息如下:
spring.http.multipart.enabled=true?#默認支持文件上傳。
spring.http.multipart.file-size-threshold=0?#支持文件寫入磁盤。
spring.http.multipart.location=#上傳文件的臨時目錄
spring.http.multipart.max-file-size=1Mb?#最大支持文件大小
spring.http.multipart.max-request-size=10Mb?#最大支持請求大小
最常用的是最后兩個配置內容,限制文件上傳大小,上傳時超過大小會引發異常:
5,異常處理
設置一個使用??@ControllerAdvice監控??Multipart上傳的文件大小是否正確,當出現此異常時在前端頁面提示??@ControllerAdvice。
6,總結
這樣一個使用Spring Boot上傳文件的簡單Demo就完成了,研究的同學可以將示例代碼下載下來試試吧。
示例代碼:https?:?//github.com/ityouknow/spring-boot-examples
周末推薦電影:《聚焦》一句話來評論:于無聲處聽驚雷,可在優酷觀看。
Spring Boot Spring
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。