使用MultipartFile來上傳單個(gè)及多個(gè)文件代碼示例
一、MultipartFile上傳單個(gè)文件代碼示例
1.1 MultipartFile上傳單個(gè)文件,不包含其它參數(shù)
控制層代碼如下:
/**
* 1、上傳單個(gè)文件,不包含其它參數(shù)
* */
@PostMapping( "/uploadFile1")
public String uploadFile1(@RequestParam(value = "file") MultipartFile multipartFile) {
String fileName = multipartFile.getOriginalFilename();
return "文件名稱:"+fileName;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為File類型
如下圖:

調(diào)用接口,返回了文件名稱
如下圖:

1.2 MultipartFile上傳單個(gè)文件,包含其它參數(shù)
控制層代碼如下:
/**
* 2、上傳單個(gè)文件,包含其它參數(shù)
* */
@PostMapping( "/uploadFile2")
public String uploadFile2(@RequestParam(value = "file") MultipartFile multipartFile,String username){
String fileName = multipartFile.getOriginalFilename();
return "文件名稱:"+fileName+ "----username: " + username ;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為file類型,參數(shù)key的值為Text類型
如下圖:

調(diào)用接口,返回了文件名稱及參數(shù)的值
如下圖:

1.3 MultipartFile上傳單個(gè)文件,包含其它請求實(shí)體
控制層代碼如下:
/**
* 3、上傳單個(gè)文件,包含其它請求實(shí)體
* */
@PostMapping( "/uploadFile3")
public String uploadFile3(@RequestParam(value = "file") MultipartFile multipartFile,Users users){
String fileName = multipartFile.getOriginalFilename();
return "文件名稱:"+fileName+ "----users: " + users.toString() ;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為file類型,請求實(shí)體參數(shù)key的值為Text類型
如下圖:

調(diào)用接口,返回了文件名稱及請求實(shí)體
如下圖:

二、MultipartFile上傳多個(gè)文件代碼示例
2.1 MultipartFile上傳多個(gè)文件,不包含其它參數(shù)
控制層代碼如下:
/**
* 4、上傳多個(gè)文件,不包含其它參數(shù)
* */
@PostMapping( "/uploadFile4")
public JSONObject uploadFile4(@RequestParam(value = "file") MultipartFile[] multipartFile) {
JSONObject jsonObject = new JSONObject();
for(int i = 0; i < multipartFile.length; i++) {
jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
}
return jsonObject;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為file類型
如下圖:

調(diào)用接口,返回了多個(gè)文件名稱
如下圖:

2.2 MultipartFile上傳多個(gè)文件,包含其它參數(shù)
控制層代碼如下:
/**
* 5、上傳多個(gè)文件,包含其它參數(shù)
* */
@PostMapping( "/uploadFile5")
public JSONObject uploadFile5(@RequestParam(value = "file") MultipartFile[] multipartFile,String username,String age) {
JSONObject jsonObject = new JSONObject();
for(int i = 0; i < multipartFile.length; i++) {
jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
}
jsonObject.put("username", username);
jsonObject.put("age", age);
return jsonObject;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為file類型,參數(shù)key的值為Text類型
如下圖:

調(diào)用接口,返回了多個(gè)文件名稱及參數(shù)
如下圖:

2.3 MultipartFile上傳多個(gè)文件,包含其它請求體
控制層代碼如下:
/**
* 6、上傳多個(gè)文件,包含其它請求體
* */
@PostMapping( "/uploadFile6")
public JSONObject uploadFile6(@RequestParam(value = "file") MultipartFile[] multipartFile,Users users) {
JSONObject jsonObject = new JSONObject();
for(int i = 0; i < multipartFile.length; i++) {
jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
}
jsonObject.put("users", users.toString());
return jsonObject;
}
postman接口調(diào)用, Headers里需要添加key: Content-Type , value:multipart/form-data;
如下圖:

接口類型是Post,body請求體里選擇from-data這種方式,文件key的格式設(shè)置為file類型,參數(shù)key的值為Text類型
如下圖:

調(diào)用接口,返回了多個(gè)文件名稱及請求體
如下圖:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java動(dòng)態(tài)驗(yàn)證碼單線設(shè)計(jì)的兩種方法
這篇文章主要介紹了Java動(dòng)態(tài)驗(yàn)證碼單線設(shè)計(jì)的兩種方法,需要的朋友可以參考下2018-07-07
Java?中很好用的數(shù)據(jù)結(jié)構(gòu)EnumSet
這篇文章主要介紹了Java?中很好用的數(shù)據(jù)結(jié)構(gòu)EnumSet,EnumMap即屬于一個(gè)Map,下文圍繞主題展開詳細(xì)內(nèi)容,需要的小伙伴可以參考參考一下2022-05-05
SpringBoot最簡單的定時(shí)任務(wù)@Scheduler的使用及解讀
這篇文章主要介紹了SpringBoot最簡單的定時(shí)任務(wù)@Scheduler的使用及解讀,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案
這篇文章主要介紹了詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案,本文分兩步,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
MyBatisPlus中批量插入之如何通過開啟rewriteBatchedStatements=true
這篇文章主要介紹了MyBatisPlus中批量插入之如何通過開啟rewriteBatchedStatements=true問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
方法參數(shù)屬性params,@PathVariable和@RequestParam用法及區(qū)別
這篇文章主要介紹了方法參數(shù)屬性params,@PathVariable和@RequestParam用法及區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
詳解IDEA 中使用Maven創(chuàng)建項(xiàng)目常見錯(cuò)誤和使用技巧(推薦)
這篇文章主要介紹了詳解IDEA 中使用Maven創(chuàng)建項(xiàng)目常見錯(cuò)誤和使用技巧(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

