最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot接口如何接收多個(gè)文件以及如何將其保存到服務(wù)器

 更新時(shí)間:2026年05月27日 11:03:16   作者:繳鴻劍Jackson  
本文給大家介紹了Springboot接口如何接收多個(gè)文件以及如何將其保存到服務(wù)器,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

一.接收多個(gè)文件(即接收文件List)

1.核心思路:使用post請(qǐng)求、List<MultipartFile>,就可以接收文件list

2.代碼編寫

@Api(tags = "測(cè)試接口")
@RestController
@RequestMapping("/test")
public class TestController {
    @PostMapping("/hello")
    public String hello(@RequestParam("files") List<MultipartFile> files) {
        if(files == null || files.isEmpty()){
            return "請(qǐng)選擇至少一個(gè)文件";
        }
        for(MultipartFile file : files){
            if(!file.isEmpty()){
                //獲取文件名
                String originalFilename = file.getOriginalFilename();
                //獲取文件大小(單位是B,即Byte字節(jié))
                long fileSize = file.getSize();
                //獲取文件類型
                String fileType = file.getContentType();
                //日志輸出到控制臺(tái)
                System.out.println("成功接收文件:"+ originalFilename +",文件大小為:"+fileSize+",文件類型為:"+fileType);
            }
        }
        return "成功接收"+files.size()+"個(gè)文件!";
    }
}

3.使用apifox發(fā)送請(qǐng)求該接口,傳入多個(gè)文件

如下圖,我們要注意幾點(diǎn):

  • 要發(fā)送post請(qǐng)求
  • 參數(shù)要選擇Body->form-data

①思考:為什么發(fā)送文件,請(qǐng)求類型一定要選擇Post?傳參一定要選擇Body->form-data?

  • 由于文件只能放到Body中,而Get請(qǐng)求不支持Body傳參,所以只能使用Post請(qǐng)求
  • 由于文件上傳必須使用 multipart/form-data 編碼格式,這是 HTTP/1.1 協(xié)議(RFC 7578)規(guī)定的標(biāo)準(zhǔn)方式。所以傳文件時(shí),參數(shù)要選擇Body->form-data

②報(bào)錯(cuò)原因分析:Maximum upload size exceeded(超過(guò)最大上傳限制)

上傳文件list的場(chǎng)景中,Spring Boot默認(rèn)值為:

  • 單個(gè)文件的大小上限:1MB
  • 單次請(qǐng)求的文件總大小上限:10MB

這是我們上述傳的四個(gè)文件,可見此時(shí)該次請(qǐng)求的總文件大小也就3~4MB,沒(méi)問(wèn)題符合要求,但是“雙錄測(cè)試視頻.mp4”這個(gè)文件,超出了單個(gè)文件大小上限(1MB)。因此我們要設(shè)置一下這個(gè)上限,調(diào)大點(diǎn)。

4.配置:調(diào)整上傳文件的大小限制

如下圖,我們此時(shí)提高了文件大小的上限:

  • 單個(gè)文件大小的上限提升至20MB
  • 單次請(qǐng)求的文件總大小上限提升至50MB

5.再次使用apifox發(fā)送請(qǐng)求,傳入多個(gè)文件

可以去控制臺(tái),查看一下上傳的日志:

注意:file.getSize()這個(gè)方法,獲取的文件大小的單位是Byte(即字節(jié))。

二.將接收的文件,保存到本地/服務(wù)器

1.添加如下圖的兩段代碼

2.使用apifox,發(fā)送請(qǐng)求,測(cè)試一下

3.查看本機(jī)的指定目錄,是否多出了這四個(gè)文件

以上就是本篇文章的全部?jī)?nèi)容,喜歡的話可以留個(gè)免費(fèi)的關(guān)注呦~~~

到此這篇關(guān)于Springboot接口如何接收多個(gè)文件以及如何將其保存到服務(wù)器的文章就介紹到這了,更多相關(guān)springboot接收多個(gè)文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • WebFlux 服務(wù)編排使用優(yōu)勢(shì)詳解

    WebFlux 服務(wù)編排使用優(yōu)勢(shì)詳解

    這篇文章主要為大家介紹了WebFlux 服務(wù)編排使用優(yōu)勢(shì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • java中重寫equals()方法的同時(shí)要重寫hashcode()方法(詳解)

    java中重寫equals()方法的同時(shí)要重寫hashcode()方法(詳解)

    下面小編就為大家?guī)?lái)一篇java中重寫equals()方法的同時(shí)要重寫hashcode()方法(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • System.currentTimeMillis()計(jì)算方式與時(shí)間的單位轉(zhuǎn)換詳解

    System.currentTimeMillis()計(jì)算方式與時(shí)間的單位轉(zhuǎn)換詳解

    這篇文章主要介紹了System.currentTimeMillis()計(jì)算方式與時(shí)間的單位轉(zhuǎn)換詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java主線程捕獲子線程異常的實(shí)現(xiàn)

    Java主線程捕獲子線程異常的實(shí)現(xiàn)

    本文主要介紹了Java主線程捕獲子線程異常的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Java中類轉(zhuǎn)json的基類實(shí)現(xiàn)

    Java中類轉(zhuǎn)json的基類實(shí)現(xiàn)

    這篇文章主要介紹了Java中類轉(zhuǎn)json的基類實(shí)現(xiàn),需要的朋友可以參考下
    2021-01-01
  • MyBatis代理Dao方式的增刪改查的實(shí)現(xiàn)小結(jié)

    MyBatis代理Dao方式的增刪改查的實(shí)現(xiàn)小結(jié)

    本文主要介紹了MyBatis代理Dao方式的增刪改查的實(shí)現(xiàn)小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-11-11
  • 我用java實(shí)現(xiàn)了王者榮耀的皮膚和英雄技能

    我用java實(shí)現(xiàn)了王者榮耀的皮膚和英雄技能

    上篇文章主要實(shí)現(xiàn)了創(chuàng)建英雄,創(chuàng)建野怪,創(chuàng)建裝備.并且實(shí)現(xiàn)了簡(jiǎn)單的刷怪,購(gòu)買裝備等.本篇文章我優(yōu)化了我的操作界面,并且實(shí)現(xiàn)了英雄技能,英雄皮膚等,需要的朋友可以參考下
    2021-05-05
  • Kafka攔截器的神奇操作方法

    Kafka攔截器的神奇操作方法

    Kafka攔截器是一種強(qiáng)大的機(jī)制,用于在消息發(fā)送和接收過(guò)程中插入自定義邏輯,它們可以用于消息定制、日志記錄、監(jiān)控、業(yè)務(wù)邏輯集成、性能統(tǒng)計(jì)和異常處理等,本文介紹Kafka攔截器的神奇操作,感興趣的朋友一起看看吧
    2025-01-01
  • 14個(gè)編寫Spring MVC控制器的實(shí)用小技巧(吐血整理)

    14個(gè)編寫Spring MVC控制器的實(shí)用小技巧(吐血整理)

    這篇文章主要介紹了14個(gè)編寫Spring MVC控制器的實(shí)用小技巧(吐血整理),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 深度優(yōu)先與廣度優(yōu)先Java實(shí)現(xiàn)代碼示例

    深度優(yōu)先與廣度優(yōu)先Java實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了深度優(yōu)先與廣度優(yōu)先Java實(shí)現(xiàn)代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評(píng)論

榆中县| 高阳县| 青神县| 临沂市| 神池县| 山东省| 陆河县| 德江县| 南丹县| 元朗区| 四子王旗| 滦平县| 黄大仙区| 固原市| 临夏县| 明水县| 原平市| 台湾省| 合山市| 永城市| 齐齐哈尔市| 正阳县| 黑山县| 朔州市| 青海省| 临桂县| 高邮市| 江达县| 新田县| 正定县| 玉门市| 丰原市| 怀化市| 孟连| 新郑市| 牙克石市| 娱乐| 竹溪县| 班玛县| 临汾市| 莱阳市|