Spring Boot 文件上傳


  其實網上已經有很多這樣的文章了。為什么我還要記錄一下呢?原因是在工作中對接外系統時,碰到了他們調取我們文件上傳接口確存在着http請求頭部規范的情況,從而導致用傳統方法獲取不到參數。今天就來整理下Spring Boot中兩種上傳文件的方法。

  首先我們需要配置一下文件上傳的最大值(為*.yml配置文件,*.properties文件同理):

1 spring:
2    http:
3      multipart:
4        max-file-size: 50Mb  #限制文件大小
5        max-request-size: 50Mb

  接下來我們看一下第一種上傳方式,適用於請求頭規范,和單文件上傳

1 @RequestMapping(value = "/upload", method = RequestMethod.POST)
2 @ResponseBody
3 public void uploadTest(MultipartFile file) {
4     System.out.println("上傳的文件名:"  + file.getOriginalFilename());                  
5 }

  我們在來看一下第二種上傳方式,適用於多文件或者第一種獲取不到文件的情況:

1 @RequestMapping(value = "/upload/batch", method = RequestMethod.POST)
2 public void String batchUploadTest(HttpServletRequest request) {
3     //獲取文件流集合
4     List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
5     for (MultipartFile file : files) {
6         System.out.println("上傳的文件名:"  + file.getOriginalFilename());     
7     }
8 }

  經過各種嘗試之后終於解決了由於http請求頭不規范而得不到文件流的問題,順便學到了SpringBoot怎樣上傳多文件。如果還有其他更好的方法。歡迎聯系博主,進行更新。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM