javascript
SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)
SpringBoot 圖文教程系列文章目錄
SpringBoot圖文教程1「概念+案例 思維導圖」「基礎篇上」
SpringBoot圖文教程2—日志的使用「logback」「log4j」
SpringBoot圖文教程3—「‘初戀’情結(jié)」集成Jsp
前言
通過前面三篇的教程,小伙伴們已經(jīng)可以實現(xiàn)一個web項目了,但是現(xiàn)在項目的功能還有點簡單,接下來的文章中將會逐步完善添加新的功能。
本文所有的內(nèi)容,將會在之前的demo上進行操作。
如果沒有寫好的demo,請去Git倉庫下載:https://gitee.com/bingqilinpeishenme/Lu-JavaNodes/t……
文件上傳
1.準備上傳頁面
<form?action="路徑...."?method="post"?enctype="multipart/form-data"><input?type="file"?name="aa"><input?type="submit"?value="上傳"> </form> <!--1.?表單提交方式必須是post2.?表單的enctype屬性必須為multipart/form-data3.?后臺接受變量名字要與文件選擇name屬性一致4.action寫Controller的方法的路徑 -->2.編寫控制器
@Controller @RequestMapping("/file") public?class?FileController?{@RequestMapping("/upload")public?String?upload(MultipartFile?aa,?HttpServletRequest?request)?throws?IOException?{ //獲取upload文件夾的路徑?String?realPath?=?request.getRealPath("/upload"); //將上傳的文件寫入?upload文件夾?中aa.transferTo(new?File(realPath,aa.getOriginalFilename()));//文件上傳return?"index";} }3.修改文件上傳大小
#上傳時出現(xiàn)如下異常:??上傳文件的大小超出默認配置??默認10M nested?exception?is?java.lang.IllegalStateException:?org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException:?the?request?was?rejected?because?its?size?(38443713)?exceeds?the?configured?maximum?(10485760)在application.properties配置文件中
文件下載
1.提供下載文件鏈接
<a?href="../file/download?fileName=corejava.txt">corejava.txt</a>2.開發(fā)控制器
@RequestMapping("/download") public?void?download(String?fileName,?HttpServletRequest?request,?HttpServletResponse?response)?throws?Exception?{ //獲取upload文件夾的路徑String?realPath?=?request.getRealPath("/upload"); //通過流讀取文件FileInputStream?is?=?new?FileInputStream(new?File(realPath,?fileName)); //獲得響應流ServletOutputStream?os?=?response.getOutputStream(); //設置響應頭信息response.setHeader("content-disposition","attachment;fileName="+?URLEncoder.encode(fileName,"UTF-8")); //通過響應流將文件輸入流讀取到的文件寫出IOUtils.copy(is,os); //關(guān)閉流IOUtils.closeQuietly(is);IOUtils.closeQuietly(os);}總結(jié)
恭喜你完成了本章的學習,為你鼓掌!如果本文對你有幫助,請幫忙點贊,評論,轉(zhuǎn)發(fā),這對作者很重要,謝謝。
讓我們再次回顧本文的學習目標
-
掌握SpringBoot中文件上傳和文件下載的使用
要掌握SpringBoot更多的用法,請持續(xù)關(guān)注本系列教程。
下面體貼的我給朋友萌還準備了一些 自測面試題和項目案例,希望你能夠成熱打鐵,將知識夯扎實。
上期自測面試題答案
見面試題集錦 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes
自測面試題(答案見下期)
-
SpringMvc 文件上傳的步驟
-
SpringMvc 文件下載的步驟
上期自測實現(xiàn)項目小案例答案
見碼云倉庫 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes
自測實現(xiàn)項目小案例(答案見下期)
本次需求:
練習文中demo
求關(guān)注,求點贊,求轉(zhuǎn)發(fā)
歡迎關(guān)注本人公眾號:鹿老師的Java筆記,將在長期更新Java技術(shù)圖文教程和視頻教程,Java學習經(jīng)驗,Java面試經(jīng)驗以及Java實戰(zhàn)開發(fā)經(jīng)驗。
總結(jié)
以上是生活随笔為你收集整理的SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行上下班时间是几点 周末上班时间介绍
- 下一篇: stream的常见方法操作(亲测)