日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)

發布時間:2024/9/20 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringBoot 圖文教程系列文章目錄

  • SpringBoot圖文教程1「概念+案例 思維導圖」「基礎篇上」

  • SpringBoot圖文教程2—日志的使用「logback」「log4j」

  • SpringBoot圖文教程3—「‘初戀’情結」集成Jsp

  • 前言

    通過前面三篇的教程,小伙伴們已經可以實現一個web項目了,但是現在項目的功能還有點簡單,接下來的文章中將會逐步完善添加新的功能。

    本文所有的內容,將會在之前的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.修改文件上傳大小

    #上傳時出現如下異常:??上傳文件的大小超出默認配置??默認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.開發控制器

    @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); //關閉流IOUtils.closeQuietly(is);IOUtils.closeQuietly(os);}

    總結

    恭喜你完成了本章的學習,為你鼓掌!如果本文對你有幫助,請幫忙點贊,評論,轉發,這對作者很重要,謝謝。

    讓我們再次回顧本文的學習目標

    • 掌握SpringBoot中文件上傳和文件下載的使用

    要掌握SpringBoot更多的用法,請持續關注本系列教程。

    下面體貼的我給朋友萌還準備了一些 自測面試題和項目案例,希望你能夠成熱打鐵,將知識夯扎實。

    上期自測面試題答案

    見面試題集錦 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes

    自測面試題(答案見下期)

    • SpringMvc 文件上傳的步驟

    • SpringMvc 文件下載的步驟

    上期自測實現項目小案例答案

    見碼云倉庫 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes

    自測實現項目小案例(答案見下期)

    本次需求:

    練習文中demo

    求關注,求點贊,求轉發

    歡迎關注本人公眾號:鹿老師的Java筆記,將在長期更新Java技術圖文教程和視頻教程,Java學習經驗,Java面試經驗以及Java實戰開發經驗。

    總結

    以上是生活随笔為你收集整理的SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。