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

Springboot+MultipartFile實(shí)現(xiàn)單文件,多文件批量上傳過程

 更新時(shí)間:2025年07月24日 16:16:10   作者:抹香鯨之海  
在Spring?Boot中,若需Swagger顯示文件上傳按鈕,需使用@Consumes注解指定Content-Type(如multipart/form-data),以告知接口接受文件類型,此注解幫助Swagger正確識(shí)別請(qǐng)求參數(shù),確保功能展示完整

Springboot+MultipartFile單文件多文件批量上傳

代碼:

    /**
     * 文件上傳請(qǐng)求
     */
    /**
     * 文件上傳請(qǐng)求
     */
    @PostMapping(value ="upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    @ApiOperation(value = "文件上傳請(qǐng)求")
    public R<SysFile> upload(@RequestPart("file") MultipartFile file)
    {
        try
        {
            // 上傳并返回訪問地址
            String url = sysFileService.uploadFile(file);
            SysFile sysFile = new SysFile();
            sysFile.setName(FileUtils.getName(url));
            sysFile.setUrl(url);
            return R.ok(sysFile);
        }
        catch (Exception e)
        {
            log.error("上傳文件失敗", e);
            return R.fail(e.getMessage());
        }
    }

    /**
     * 批量上傳
     * @param files
     * @return
     */
    @PostMapping(value ="batchUploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    @ApiOperation(value = "文件上傳請(qǐng)求")
    public R<JSONArray> batchUploadFile(@RequestPart("files") MultipartFile[] files)
    {
        try
        {
            JSONArray jsonArray=new JSONArray();

            for(MultipartFile file : files) {//循環(huán)單個(gè)上傳
                // 上傳并返回訪問地址
                String url = sysFileService.uploadFile(file);
                SysFile sysFile = new SysFile();
                sysFile.setName(FileUtils.getName(url));
                sysFile.setUrl(url);
                jsonArray.add(sysFile);
            }
            return R.ok(jsonArray);
        }
        catch (Exception e)
        {
            log.error("上傳文件失敗", e);
            return R.fail(e.getMessage());
        }
    }

Springboot里面要用這個(gè)標(biāo)簽接受文件,不然swagger上可能沒有按鈕。

@PostMapping(value ="upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)

consumes直譯是消費(fèi)者,其實(shí)就是限制方法處理指定Content-Type的http請(qǐng)求

常見的媒體格式類型

如下:

  • text/html:HTML格式
  • text/plain:純文本格式
  • text/xml:XML格式
  • image/gif:gif圖片格式
  • image/jpeg:jpg圖片格式
  • image/png:png圖片格式
  • application/xhtml+xml:XHTML格式
  • application/xml:XML數(shù)據(jù)格式
  • application/atom+xml:Atom XML聚合格式
  • application/json:JSON數(shù)據(jù)格式
  • application/pdf:pdf格式
  • application/msword:Word文檔格式
  • application/octet-stream:二進(jìn)制流數(shù)據(jù)(如常見的文件下載)
  • application/x-www-form-urlencoded:<form encType=””>中默認(rèn)的encType,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送到服務(wù)器(表單默認(rèn)的提交數(shù)據(jù)的格式)
  • multipart/form-data:需要在表單中進(jìn)行文件上傳時(shí),就需要使用該格式

Swagger驗(yàn)證一下


總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java集合系列之HashMap源碼分析

    Java集合系列之HashMap源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java集合系列之HashMap源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • java教程之對(duì)象序列化使用基礎(chǔ)示例詳解

    java教程之對(duì)象序列化使用基礎(chǔ)示例詳解

    所謂對(duì)象序列化就是將對(duì)象的狀態(tài)轉(zhuǎn)換成字節(jié)流,以后可以通過這些值再生成相同狀態(tài)的對(duì)象,下面詳細(xì)介紹一下java對(duì)象的序列化使用方法
    2014-01-01
  • java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下

    java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下

    這篇文章主要為大家介紹了java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • java圖片壓縮工具類

    java圖片壓縮工具類

    這篇文章主要為大家詳細(xì)介紹了java圖片壓縮工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 解決maven項(xiàng)目tomcat啟動(dòng)失敗war exploded:Error during artifact deploym問題

    解決maven項(xiàng)目tomcat啟動(dòng)失敗war exploded:Error during 

    在SpringMVC項(xiàng)目中,使用war和warexploded兩種部署方式可能會(huì)導(dǎo)致不同的路徑問題,從而出現(xiàn)404錯(cuò)誤,war模式將項(xiàng)目打包上傳,而warexploded模式則保持文件夾結(jié)構(gòu)上傳,開發(fā)時(shí)建議使用warexploded模式,方便利用Update classes and resources功能自動(dòng)更新
    2024-10-10
  • java實(shí)現(xiàn)電腦定時(shí)關(guān)機(jī)的方法

    java實(shí)現(xiàn)電腦定時(shí)關(guān)機(jī)的方法

    這篇文章主要介紹了java實(shí)現(xiàn)電腦定時(shí)關(guān)機(jī)的方法,首先通過java注冊(cè)windows服務(wù)程序,再以一個(gè)簡單的java程序?qū)崿F(xiàn)定時(shí)關(guān)機(jī)的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • 淺談對(duì)象與Map相互轉(zhuǎn)化

    淺談對(duì)象與Map相互轉(zhuǎn)化

    這篇文章主要介紹了利用BeanMap進(jìn)行對(duì)象與Map的相互轉(zhuǎn)換,在文中列舉了完整代碼,需要的朋友可以參考下。
    2017-09-09
  • win10設(shè)置java環(huán)境變量的方法

    win10設(shè)置java環(huán)境變量的方法

    下面小編就為大家?guī)硪黄獁in10設(shè)置java環(huán)境變量的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • java常用工具類 UUID、Map工具類

    java常用工具類 UUID、Map工具類

    這篇文章主要為大家詳細(xì)介紹了Java常用工具類,包括UUID工具類、Map工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問題

    IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問題

    這篇文章主要介紹了IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

武清区| 新竹市| 钟山县| 昌平区| 汉源县| 格尔木市| 肇庆市| 宽甸| 富平县| 密山市| 上饶县| 古田县| 星子县| 云霄县| 绥棱县| 石河子市| 潜山县| 嵊泗县| 饶阳县| 德昌县| 靖宇县| 闽清县| 渝中区| 周口市| 红安县| 湘阴县| 锦屏县| 丽江市| 乐业县| 通道| 淅川县| 北碚区| 藁城市| 海淀区| 永康市| 仲巴县| 遂平县| 屯昌县| 三门峡市| 刚察县| 金湖县|