精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

一卡二卡三卡在线| 97人妻人人揉人人躁人人| 国产精品偷拍| 久久久午夜电影| 91精品国产综合久久香蕉| 99久久婷婷国产综合| 黄色网一区二区| 欧美日韩亚洲另类| 国产美女永久无遮挡| 国产色a在线| 成人免费电影视频| 国产精自产拍久久久久久蜜| 国产精品不卡av| 日韩一区二区中文| 亚洲黄色免费三级| 亚洲三级在线观看视频| 亚洲一级少妇| 一区二区三区日韩欧美| 色一情一乱一伦一区二区三欧美| 丰满熟妇乱又伦| 日本不卡一区二区| 欧美亚洲成人网| 免费三级在线观看| 欧美精品羞羞答答| 亚洲精品国产福利| 日本wwwxx| 亚洲一区导航| 欧美性感一区二区三区| aa视频在线播放| 午夜伦理大片视频在线观看| 国产精品视频一二| 久久亚洲午夜电影| 亚洲欧美高清视频| 韩国三级电影一区二区| 国产精品久久久久久超碰 | 国产免费人做人爱午夜视频| а√天堂8资源在线官网| 国产欧美一区二区三区网站 | 国产欧美日韩影院| 日韩成人免费视频| 五十路六十路七十路熟婆| 欧美经典影片视频网站| 欧美日韩一区二区三区不卡| 99re在线视频免费观看| 国产不卡人人| 亚洲aaa精品| 欧美在线观看视频免费| 在线视频中文字幕第一页| 亚洲品质自拍视频网站| 伊人色综合久久天天五月婷| 1区2区3区在线观看| 国产精品网站在线观看| 亚洲v国产v在线观看| 国产一二在线观看| 国产欧美综合在线观看第十页| 久久精品ww人人做人人爽| 午夜av免费在线观看| a亚洲天堂av| 免费观看成人高| 激情福利在线| 国产精品久久午夜夜伦鲁鲁| 亚洲一区二区精品在线观看| 日韩毛片久久久| 亚洲丝袜另类动漫二区| 亚洲色婷婷久久精品av蜜桃| 色a资源在线| 黄色精品一区二区| 国产精品97在线| 精品网站在线| 91精品国产麻豆| jjzz黄色片| 农村少妇一区二区三区四区五区| 日韩av在线最新| 亚洲精品国产91| 国产精品成人av| 欧美激情精品久久久久久黑人 | 91精品欧美久久久久久动漫 | 久久久天堂国产精品女人| 日韩av片在线播放| 日韩av不卡在线观看| 成人性生交大片免费观看嘿嘿视频| 国产美女精品视频国产| 岛国精品在线播放| 日韩欧美视频第二区| 国产视频一区二区| 午夜久久久久久| 午夜视频在线瓜伦| 中文在线综合| 亚洲天堂精品在线| 日韩国产第一页| 国产日韩亚洲| 成人激情综合网| 日韩在线视频观看免费| 欧美激情一区二区三区在线| 超碰97在线看| 欧美aaa大片视频一二区| 91精品国产福利| 久久久久久久久免费看无码 | 久久久亚洲精品石原莉奈| 不卡中文字幕在线| 一个人www视频在线免费观看| 欧美日韩国产小视频在线观看| 国产女主播在线播放| 成人3d动漫在线观看| 欧美激情一区二区三区在线视频观看 | 91精品一区二区三区综合在线爱 | 欧美日韩综合在线观看| 狠狠色狠狠色合久久伊人| 久久久www免费人成黑人精品| 米奇777四色精品人人爽| 欧美日韩一区二区免费在线观看 | 99国产精品久久久| 国产av第一区| 素人一区二区三区| 亚洲精品久久久久| 欧美日韩在线视频免费播放| 爽爽淫人综合网网站| 粉嫩精品一区二区三区在线观看 | 国产中文精品久高清在线不| 国内外成人免费激情在线视频网站| 一级α片免费看刺激高潮视频| 91视频www| 97在线国产视频| 日韩精品三级| 久久精品视频导航| 国产精品sm调教免费专区| jlzzjlzz国产精品久久| www国产免费| 精品一区二区三区免费看| 在线电影欧美日韩一区二区私密| 69国产精品视频免费观看| 成人午夜激情视频| 人人妻人人澡人人爽欧美一区双| va天堂va亚洲va影视| 中文字幕日韩欧美| 日韩xxx视频| 欧美国产综合色视频| 久热免费在线观看| 在线成人动漫av| 国产91精品久久久久久久| 日韩中文字幕免费观看| 亚洲一区二区欧美| 久久发布国产伦子伦精品| 91精品啪在线观看国产81旧版| 国产剧情日韩欧美| 91精彩在线视频| 欧美肥胖老妇做爰| 五月天av网站| 国产成人福利片| 久久这里只有精品18| 风间由美中文字幕在线看视频国产欧美 | 人人精品人人爱| 亚洲成色最大综合在线| 成人深夜福利| 精品国产一区二区在线 | 亚洲国产精品国自产拍av秋霞| 久久亚洲av午夜福利精品一区| 成人一区二区三区中文字幕| 高清欧美精品xxxxx| 久久365资源| 欧美与欧洲交xxxx免费观看| 欧美女子与性| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲精品视频网址| 韩国三级在线一区| 国产肉体ⅹxxx137大胆| 偷拍自拍亚洲色图| 国产精品久久久久久久久久免费| av在线日韩国产精品| 欧美一区欧美二区| 欧美老熟妇一区二区三区| 高清成人免费视频| 久草资源站在线观看| 爽成人777777婷婷| 国产91精品一区二区绿帽| 深夜成人在线| 日韩亚洲国产中文字幕| 性生交生活影碟片| 欧美午夜女人视频在线| 四季av中文字幕| 夫妻av一区二区| 国产性生交xxxxx免费| 国产精品二区不卡| 国产伦精品一区二区三区高清版| 美女写真久久影院| 久久综合五月天| 三级理论午夜在线观看| 欧美日韩成人综合天天影院| 精品无码人妻一区二区三区| 国产日产欧产精品推荐色 | 久久99久久99精品| 综合伊思人在钱三区| 成人午夜激情免费视频| 看黄在线观看| 精品国产一区久久久| 日韩三级电影网| 欧美一区二区网站| 中文字幕第四页| 亚洲免费av高清| 无码人妻aⅴ一区二区三区69岛| 国产麻豆视频一区| 欧美激情国产精品日韩| 午夜欧美精品久久久久久久| 欧美午夜精品久久久久免费视| 国产人与zoxxxx另类91| 国产成人午夜视频网址| 暖暖在线中文免费日本| 丝袜一区二区三区| 欧洲毛片在线| 精品成人一区二区| 91成人一区二区三区| 福利精品视频在线| 精品自拍偷拍视频| 中文字幕av一区二区三区高| a视频免费观看| 国产寡妇亲子伦一区二区| 亚洲综合色在线观看| 欧美亚洲三级| 久久国产午夜精品理论片最新版本| 国产精品毛片久久| 神马影院午夜我不卡| 欧美性生活一级片| 91久久国产综合久久蜜月精品 | 亚洲九九精品| 免费看日本黄色| 欧美91福利在线观看| 亚洲欧洲日夜超级视频| 精品国产视频| 欧美性色黄大片人与善| 偷拍亚洲精品| 久久精品国产99精品国产亚洲性色| y111111国产精品久久久| 亚洲va男人天堂| 国产激情精品一区二区三区| 国产欧美一区二区三区四区| а√天堂资源国产精品| 国产精品第一区| 另类中文字幕国产精品| 国产福利精品av综合导导航| 中文一区一区三区高中清不卡免费| 欧美激情乱人伦一区| 超碰在线97国产| 久久久影视精品| free性m.freesex欧美| 高清欧美一区二区三区 | 国产小视频免费| 草莓福利社区在线| 日韩一区二区精品视频| 香港伦理在线| 日韩中文字幕国产| h网站视频在线观看| 色哟哟入口国产精品| www.亚洲免费| www.国产一区| a视频在线观看| 精品国产欧美一区二区三区成人| 国产三区视频在线观看| 欧美成人免费全部| 欧美14一18处毛片| 97久久国产精品| 欧美日韩视频网站| 国产精品观看在线亚洲人成网| 成人精品电影在线| 国产精品中文字幕在线观看| 9999精品| 国产尤物91| 国产精品一线天粉嫩av| 亚洲一区在线免费| 在线国产一区| 亚洲人精品午夜射精日韩| 久久aⅴ国产紧身牛仔裤| 一区二区三区 欧美| 国产乱一区二区| 亚洲国产综合视频| 国产精品天干天干在观线| 九九视频在线免费观看| 精品久久久久久久中文字幕| 中文字幕手机在线视频| 欧美精品久久一区| 免费国产羞羞网站视频| 亚洲一区第一页| 自由的xxxx在线视频| 91精品国产高清自在线看超| 韩国女主播一区二区| 亚洲永久免费观看| 一呦二呦三呦国产精品| 不卡中文字幕在线| 在线综合亚洲| 天天操精品视频| 91网页版在线| 熟女av一区二区| 精品福利免费观看| 91亚洲国产成人精品一区| 日韩精品亚洲视频| 成人区精品一区二区不卡| 欧美一区三区三区高中清蜜桃| 成人av在线播放| 欧美下载看逼逼| 亚洲国产二区| 亚洲黄色av片| 久久精品视频一区| 国产在线视频99| 91麻豆精品国产综合久久久久久| 青青草手机在线| 欧美精品国产精品日韩精品| 国产成人精选| 麻豆av一区二区三区久久| 亚洲欧洲中文字幕| 91人人澡人人爽人人精品| 成人av免费网站| 一区二区成人免费视频| 欧美性猛片aaaaaaa做受| 香蕉视频黄在线观看| 久久99精品久久久久久琪琪| 亚洲a∨精品一区二区三区导航| 国产综合18久久久久久| 91超碰成人| 一区二区免费av| 国产天堂亚洲国产碰碰| 欧美三级一区二区三区| 日韩精品中文字幕一区二区三区| 香蕉视频在线看| 国产成人久久久| 亚洲欧美成人vr| 久艹视频在线免费观看| 国产成人av一区| 色欲人妻综合网| 69堂国产成人免费视频| 不卡在线视频| 国产成人精品日本亚洲| 特黄特色欧美大片| 成人午夜精品久久久久久久蜜臀| 懂色av一区二区夜夜嗨| 欧美性猛交xxxxx少妇| 56国语精品自产拍在线观看| 伊人免费在线| 成人免费在线网址| 99re66热这里只有精品8| 永久免费的av网站| 国产精品丝袜91| 亚洲视频一区二区三区四区| 最近2019年日本中文免费字幕| 影音成人av| 伊人久久大香线蕉综合75| 激情深爱一区二区| 亚洲国产123| 欧美一级艳片视频免费观看| 香蕉成人app免费看片| 成人欧美视频在线| 亚洲日产国产精品| 亚洲乱码国产乱码精品精大量| 色综合天天综合给合国产| 免费在线毛片| 国产狼人综合免费视频| 中文字幕日韩欧美精品高清在线| 日本在线观看视频一区| 亚洲另类一区二区| 性生活三级视频| 欧美一区第一页| 欧美日韩一二| 中文av字幕在线观看| 一卡二卡欧美日韩| 无码国产色欲xxxx视频 | 欧美123区| 二级片在线观看| 成人黄色av电影| 无码视频一区二区三区| 日韩亚洲欧美中文高清在线| 免费一级欧美在线大片| 日韩av高清在线看片| 久久久精品黄色| 国产精品老熟女视频一区二区| 欧美www在线| 亚洲另类春色校园小说| 日韩一级理论片| 亚洲精品久久久蜜桃| 色窝窝无码一区二区三区| 国产ts人妖一区二区三区| 99久久www免费| 李丽珍裸体午夜理伦片| 欧美又粗又大又爽| 伊人在我在线看导航| 欧美高清性xxxxhdvideosex| 精品在线一区二区| 日韩欧美国产亚洲| 中文字幕精品视频| 91精品国产自产在线丝袜啪| 中文字幕第80页| 亚洲一区二区视频| 97人人在线| 国产一区高清视频| 国产资源在线一区| 久久久久女人精品毛片九一| 久久视频免费观看| 亚洲瘦老头同性70tv| 欧美国产日韩在线视频| 第一福利永久视频精品| 菠萝菠萝蜜在线视频免费观看| 久久久一本精品99久久精品| 国产一区二区免费看|