精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot文件上傳五種玩法!@RequestPart最強大

開發 前端
在Spring Boot中,文件上傳的實現非常簡單且高效,開發者可以快速集成這一常見功能。通過Spring MVC提供的MultipartFile接口,配合@RequestParam注解,只需幾行代碼即可完成文件接收。

環境:SpringBoot3.4.2

1. 簡介

在Spring Boot中,文件上傳的實現非常簡單且高效,開發者可以快速集成這一常見功能。通過Spring MVC提供的MultipartFile接口,配合@RequestParam注解,只需幾行代碼即可完成文件接收。

本篇文章我們將介紹當我們的接口涉及到文件上傳時個各種玩法。

2. 實戰案例

2.1 基本應用

@PostMapping("/form")
public String handleFormUpload(
    @RequestParam("name") String name,
    @RequestParam("file") MultipartFile file) throws Exception {
  if (!file.isEmpty()) {
    file.transferTo(new File("d:\\upload\\" + file.getOriginalFilename())) ;
    return "success" ;
  }
  return "failure" ;
}

這里MultipartFile類型參數也可以不使用@RequestParam("file"),不過這就需要你上傳文件是的name屬性值域你的這里變量名一致。

將參數類型聲明為 List<MultipartFile> 時,可解析同名參數名下的多個文件(即客戶端通過同一表單字段名上傳多個文件時,會以列表形式綁定到方法參數)。

2.2 使用Map接收文件

@PostMapping("/map")
public String handleMapUpload(
    @RequestParam("name") String name,
    @RequestParam Map<String, MultipartFile> files) throws Exception {
  files.forEach((key, file) -> {
    System.out.println("name = " + key) ;
    try {
      file.transferTo(new File("d:\\upload\\" + file.getOriginalFilename())) ;
    }
  }) ;
  return "success" ;
}

當使用 @RequestParam 注解并聲明參數類型為 Map<String, MultipartFile> 或 MultiValueMap<String, MultipartFile>,且注解中未指定參數名(即不通過 value/name 屬性顯式命名)時,該映射結構將自動填充所有上傳的 multipart 文件,其中鍵為表單字段名(每個字段名可能對應多個文件),值為對應字段名下的文件集合。

圖片圖片

輸出結果

name = file1
name = file2

2.3 封裝為對象

你還可以將 multipart 內容作為數據綁定的一部分,綁定到命令對象(Command Object)上。例如,上面示例中的表單字段和文件均可作為表單對象(DataForm)的屬性。

@PostMapping("/dataform")
public String handleDateFormUpload(DataForm form) throws Exception {
  System.err.println("name = " + form.getName()) ;
  MultipartFile file = form.getFile();
  file.transferTo(new File("d:\\upload\\" + file.getOriginalFilename())) ;
  return "success" ;
}
// DataForm對象定義
public class DataForm {
  private String name ;
  private MultipartFile file ;
}

圖片圖片

2.4 使用Part接收 

在使用 Servlet 的多部分(multipart)解析功能時,你也可將 jakarta.servlet.http.Part 接口(而非 Spring 的 MultipartFile)聲明為方法參數或集合值類型。

@PostMapping("/part")
public String handlePartUpload(
    @RequestParam("name") Part name,
    @RequestParam Part file) throws Exception {
  String value = StreamUtils.copyToString(name.getInputStream(), StandardCharsets.UTF_8) ;
  System.err.println("name = " + value) ;
  name.getHeaderNames().forEach(key -> System.out.println(name.getHeader(key))) ;
  System.err.println("-------------------------") ;
  FileOutputStream out = new FileOutputStream(new File("d:\\upload\\" + file.getSubmittedFileName()));
  StreamUtils.copy(file.getInputStream(), out) ;
  file.getHeaderNames().forEach(key -> System.out.println(file.getHeader(key))) ;
  out.close() ;
}

注意,這里我們將普通字段,也通過Part接口來接收。輸出結果如下:

圖片圖片

通過控制臺查看如下:

圖片圖片

2.5 使用@RequestPart注解

當我們還需要接收json 數據時(類似@RequestBody)。此時可使用 @RequestPart 注解,在通過 HttpMessageConverter 轉換后訪問多部分(multipart)數據。

@PostMapping("/requestpart")
public Object requestpart(
    @RequestPart("user") User user, 
    @RequestPart("file") MultipartFile file
  ) throws Exception {
  file.transferTo(new File("d:\\upload\\" + file.getOriginalFilename())) ;
  return user ;
}

前端代碼如下:

let form = new FormData()
// 文件附件
form.append('file', document.querySelector('#file').files[0])
let data = {age: 5000, name: '中國????'}
// 通過Blob來構建一個不可變、原始數據的類文件對象,同時指明你數據類型
let user = new Blob([JSON.stringify(data)], { type: 'application/json' })
form.append('user', user)
axios({
  method: 'post',
  url: 'http://localhost:8080/api/request/requestpart',
  // 設置請求header,這里設置multipart/mixed也可以
  headers: {
    'Content-Type': 'multipart/form-data'
  },
  data: form
})

每一個表單項都設置了不同的type類型,這樣我們的后臺接口就會根據具體的類型進行數據的轉換。


圖片圖片

對于上面的 User 類型參數,我們還可以使用@Valid進行參數校驗。

public Object requestpart(
      @Valid @RequestPart("user") User user, 
      @RequestPart("file") MultipartFile file) {}

這樣我們就可以對User實體屬性進行校驗了。

責任編輯:武曉燕 來源: Springboot全家桶實戰案例源碼
相關推薦

2024-10-14 13:26:42

2025-10-27 01:00:00

2021-01-25 14:10:49

Spring BootVueJava

2025-06-06 08:28:56

2025-10-28 01:25:00

SQL查詢Spring查詢模式

2025-03-28 05:10:00

Spring上傳大文件

2025-08-08 01:55:00

SpringJSON日期

2025-04-07 02:33:00

項目開發Spring

2022-05-17 10:45:55

項目VueElementUI

2022-08-18 09:38:02

Spring跨域

2025-02-13 07:45:26

APISpringHTTP

2025-02-12 08:47:07

SpringAPI接口

2025-05-23 10:05:00

文件上傳漏洞JSP

2025-06-30 01:45:00

2021-12-31 13:40:43

Spring Boot熱部署Java

2025-03-31 08:39:55

2022-07-06 20:40:27

舒爾特方格鴻蒙

2024-11-27 09:58:41

Spring模塊化管理方式

2025-04-08 02:22:22

SpringJackson注解

2011-02-28 13:51:30

Spring事物配置
點贊
收藏

51CTO技術棧公眾號

日韩免费在线看| 丰满岳妇乱一区二区三区| 久久99精品久久久久久噜噜| 成人黄色一区二区| 黄色小视频免费在线观看| 欧美综合视频| 欧美三级xxx| 国产精品网站入口| 久久久久国产精品区片区无码| 免费在线视频欧美| 日韩电影在线免费看| 亚洲国产精彩中文乱码av| 最新黄色av网站| 亚洲天堂777| av一区二区在线观看| 狠狠色狠狠色综合日日小说| 国产美女99p| 欧美日韩免费一区二区| 欧美成人一二区| 久久久99精品免费观看| 5566日本婷婷色中文字幕97| 人妻换人妻a片爽麻豆| а√天堂8资源在线官网| 久久电影网站中文字幕| 在线中文字幕日韩| 黄色片在线免费| 国产一级网站视频在线| 久久综合狠狠| 伊人青青综合网站| 国产精品一区二区羞羞答答| 国产在线一二三| 久久精品亚洲| 亚洲日韩中文字幕| 国产成人手机视频| 69视频在线| 久久av资源网| 欧美精品日韩三级| xxxx国产视频| 91资源在线观看| av电影一区二区| 91av中文字幕| 97超碰在线资源| 福利一区二区| 中文字幕一区二区三区四区不卡| 成人激情免费在线| 国产亚洲精品码| 欧美一级色片| 欧洲另类一二三四区| 亚洲精品8mav| 国产美女永久免费| 很黄很黄激情成人| 日韩av在线免费看| 黄色一级大片在线观看| 香蕉视频国产在线观看| 国产一区二区在线视频| 欧美黑人巨大xxx极品| 欧美日韩一区二区三区四区五区六区| 国产欧洲在线| 国产精品日韩精品欧美在线| 亚洲一区二区三区777| 精品无码久久久久| 美女少妇全过程你懂的久久| 欧美日韩在线观看一区二区 | 久久嫩草精品久久久精品一| 国产精品大片wwwwww| 亚洲激情图片网| 66精品视频在线观看| 日韩欧美中文免费| 一区二区三区欧美成人| 蜜桃在线一区二区| 日本亚洲一区二区| 色综合久久精品亚洲国产 | 久久亚洲欧美国产精品乐播 | 精品网站999| 精品国产精品自拍| 国产精品无码乱伦| 天堂网www中文在线| 久久99精品久久久久久动态图 | 外国一级黄色片| 亚洲另类av| 日韩美女主播在线视频一区二区三区| 成年人观看网站| 成人福利网站| 国产色婷婷亚洲99精品小说| 99精品99久久久久久宅男| 超碰超碰超碰超碰| 亚洲小说欧美另类社区| 中文字幕在线观看亚洲| 极品粉嫩小仙女高潮喷水久久| 成人97精品毛片免费看| 色乱码一区二区三区88| 黄色大片在线免费看| 成人av免费| 国产精品免费av| 欧美精品一区二区三区在线看午夜| 亚洲精品久久久久avwww潮水| 日韩高清在线电影| 17婷婷久久www| 精品少妇爆乳无码av无码专区| 99久久夜色精品国产亚洲96 | 国内综合精品午夜久久资源| 日韩中文娱乐网| 最新中文字幕av| 欧美激情99| 精品欧美久久久| 九九九九九九九九| 欧美xxxx性| 欧美亚洲综合色| 国产精品少妇在线视频| 欧产日产国产精品视频| 亚洲国产成人91porn| 久久久久久久久网| 麻豆av免费在线观看| 国产欧美日韩综合精品一区二区| 久久一区二区三区av| 日本黄视频在线观看| 国产成人一区在线| 97人人做人人人难人人做| 91亚洲欧美激情| 麻豆视频观看网址久久| 国产脚交av在线一区二区| 毛片毛片女人毛片毛片| 小嫩嫩精品导航| 欧美中文字幕视频在线观看| 依依成人综合网| 欧美亚洲三区| 国产成人精品免费视频| 免费黄色片视频| 麻豆精品一区二区综合av| 国产精品视频免费在线观看| 一区二区视频免费| 国产专区综合网| 成人欧美在线视频| 精品黑人一区二区三区在线观看 | 欧美韩日精品| 欧美国产中文字幕| 中国一级免费毛片| 久久五月激情| 国产人妖伪娘一区91| 国产视频在线观看免费| 国产91丝袜在线播放0| 精品无人区一区二区三区| 欧美孕妇孕交xxⅹ孕妇交| 国产亚洲一本大道中文在线| 一区在线电影| 黄色大片在线| 色婷婷综合久久久中文一区二区| 中文字幕国产传媒| 国产精品国产亚洲精品| 亚洲大胆人体视频| www.99热| 欧美精品观看| 日韩免费观看在线观看| 国产精品国产一区二区三区四区 | 国产精品久久国产三级国电话系列| 污视频软件在线观看| 国产精品无圣光一区二区| 精品国产三级a∨在线| 91超碰在线| 欧美色成人综合| 国产综合内射日韩久| 精品大片一区二区| 久久91亚洲精品中文字幕| 久久99精品波多结衣一区| 麻豆精品一区二区三区| 国产视频99| 亚洲成人三级| 欧美日韩精品在线| 国产永久免费网站| 五月国产精品| 欧美刺激性大交免费视频| 天天综合网入口| 激情五月婷婷综合| 欧美欧美一区二区| 国产又色又爽又黄刺激在线视频| 日本精品免费观看高清观看| 性一交一黄一片| 欧美日韩一二三四| 久久频这里精品99香蕉| 91高潮大合集爽到抽搐| 久久众筹精品私拍模特| 日本阿v视频在线观看| 欧美97人人模人人爽人人喊视频| 亚洲精品久久久久国产| 精品人妻伦九区久久aaa片| 久久一区视频| 麻豆精品传媒视频| 黄页网站在线| 欧美一区二区精美| 特级西西人体高清大胆| 亚洲综合欧美| 国产在线精品一区| 欧美videosex性极品hd| 91精品麻豆日日躁夜夜躁| 久久丫精品忘忧草西安产品| 99热在线精品观看| 粉嫩av一区二区三区免费观看| 日本在线观看网站| 欧美亚洲禁片免费| 日本少妇高潮喷水xxxxxxx| 亚洲三级网站| 国产精品美女诱惑| 黄色小说在线播放| 欧美成人一区二区三区| 亚洲av鲁丝一区二区三区| 久久国产视频网| 亚洲欧洲在线一区| 福利一区二区| 色偷偷av一区二区三区乱| www.五月婷婷.com| 国产日产欧美一区| 九热视频在线观看| 北条麻妃国产九九九精品小说| 国产成人+综合亚洲+天堂| 青青青草原在线| 欧美日韩在线一区| 国产一级免费片| 亚洲日产国产精品| 久久亚洲高清| 制服诱惑亚洲| 在线日韩欧美视频| 在线观看中文字幕网站| 中文字幕一区二区三区不卡在线 | 日本免费在线播放| www.亚洲激情.com| 日日碰狠狠添天天爽超碰97| 全国精品免费看| 欧美中文字幕在线| 国产视频网站在线| 欧美日韩一区二区不卡| 小泽玛利亚一区| 国产精品资源网| 真人抽搐一进一出视频| 神马日本精品| 国产精品丝袜久久久久久高清| 免费黄色在线看| 日韩欧美一区中文| 日韩成人av毛片| 久久精品综合网| 中文字幕永久有效| 黄色精品网站| 欧美久久电影| 日韩精品免费视频一区二区三区 | 视频在线99re| 日韩一二三区在线观看| 97视频在线观看亚洲| 国产专区在线播放| 日韩一卡二卡三卡四卡| wwwxxx亚洲| 一区在线观看免费| 秘密基地免费观看完整版中文| 午夜在线a亚洲v天堂网2018| 曰韩不卡视频| 久久99国产精品久久99大师 | 欧美h在线观看| 一区视频在线播放| 影音先锋黄色资源| 另类小说欧美激情| 国产美女主播在线| 日本一区二区免费高清| 99国产视频| 福利一区视频| 69av视频在线播放| 美女免费久久| 亚洲老板91色精品久久| 国产免费一区二区三区免费视频| 黄色精品一区二区| 色老板免费视频| 久久综合色8888| 黑人性生活视频| 日韩1区2区3区| 国产aaa免费视频| 日本激情一区| 久久人人九九| 亚洲大奶少妇| 国产日韩av高清| 欧美momandson| 欧美激情videoshd| 色影院视频在线| 亚洲男人天堂网站| 亚洲国产精品suv| 欧美日本在线观看| 亚洲天堂一区在线| 亚洲自拍偷拍图区| 手机av在线看| 欧美激情一区二区三区| 久久人人爽人人爽人人片 | 粗大的内捧猛烈进出视频| 日本免费在线视频不卡一不卡二| 日韩精品视频在线观看视频 | 日本一区二区三区播放| 国产伦精品免费视频| 成人做爰视频www网站小优视频| 久久久久久成人| 欧美家庭影院| 欧美区二区三区| 成码无人av片在线观看网站| 在线观看亚洲视频| 成人jjav| 伊人久久精品视频| av网站在线播放| 一区二区三区视频免费在线观看| 三级在线视频| 亚洲欧美国产另类| 欧美少妇另类| 精品网站999www| 免费在线观看一级毛片| 日韩精品在线视频| 免费理论片在线观看播放老| 亚洲第一免费播放区| 欧洲成人一区二区三区| 欧美不卡在线视频| 亚洲精品国产一区二| 精品裸体舞一区二区三区| 精品久久人妻av中文字幕| 日韩视频国产视频| www.天天干.com| 精品人在线二区三区| 欧美 日韩 国产 成人 在线| 精品免费一区二区三区| 人妻无码中文字幕免费视频蜜桃| 亚洲成成品网站| 日韩在线视频第一页| 亚洲精品美女在线观看播放| 日韩美女一级视频| 亚洲新声在线观看| 五月天婷婷在线视频| 久久国产精品久久国产精品| 欧美bbbxxxxx| 欧美又大又粗又长| 99九九久久| 亚洲r级在线观看| 成人精品毛片| 欧美日韩一区二区三区在线观看免 | av在线影院| 欧美激情中文字幕在线| 色老头在线一区二区三区| 国产成一区二区| 国产欧美视频在线| 国产欧美一区二区视频| 国产精品三级| 中国女人做爰视频| 亚洲色诱最新| 日韩精品视频一二三| 国产乱对白刺激视频不卡| 手机免费看av片| 国产欧美日韩麻豆91| 国产性生活大片| 精品久久久久久久久久| 国产精品午夜一区二区| 7777精品伊人久久久大香线蕉的 | 国产福利一区在线| 超碰97人人干| 亚洲色图一区二区| 成人免费看片98欧美| 欧美精品丝袜久久久中文字幕| 好吊色一区二区三区| 正在播放亚洲1区| 不卡一本毛片| 国产狼人综合免费视频| 韩国女主播一区二区三区| 性欧美精品一区二区三区在线播放 | 国产99一区视频免费| 久久丫精品忘忧草西安产品| 亚洲影视在线播放| 亚洲午夜无码久久久久| 亚洲成人免费在线视频| 日本在线视频站| 日韩av免费在线看| 视频国产精品| 亚洲国产精品一区在线观看不卡 | 久久大大胆人体| 在线成人视屏| 精品九九九九| 亚洲欧洲美洲一区二区三区| 北条麻妃在线观看| 国产精品一区二区三区乱码| 欧美18—19性高清hd4k| 精品美女国产在线| 国产成人a人亚洲精品无码| 在线成人免费网站| 蜜桃视频m3u8在线观看| 99在线看视频| 国产精品伦理久久久久久| 日本成人在线免费视频| 99re这里都是精品| 久久精品一区二区三| 欧美日韩不卡在线| 国模吧精品人体gogo| 97超碰国产精品女人人人爽| 综合欧美亚洲| avove在线观看| 精品影视av免费| 欧美三级视频网站| 色狠狠一区二区三区香蕉| 少妇av一区二区| 欧美精品video| 凹凸av导航大全精品| 国产成人生活片| 国产精品正在播放|