国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 實(shí)現(xiàn)多文件上傳

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot 實(shí)現(xiàn)多文件上傳。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

文件上傳

Spring Boot代碼

  1. 代碼結(jié)構(gòu):
    Spring Boot 實(shí)現(xiàn)多文件上傳

  2. Controller層

    package com.yqifei.upload.controller;
    
    import io.swagger.annotations.Api;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    /**
     * @ClassName UploadController
     * @Description TODO
     * @Author jiangyuntao
     * @Data 2023/3/7 23:52
     * @Version 1.0
     * @Email yuntaojiang@foxmail.com
     */
    
    @RestController
    @CrossOrigin
    @RequestMapping("/posts")
    @Api(tags = "文件上傳控制器")
    public class UploadController {
    
    /*
    http://localhost:8088/swagger-ui.html#
    */
        @PostMapping(value="/upload")
        @CrossOrigin
        public List<String> fileload(@RequestParam(value = "file") MultipartFile[] file, HttpServletRequest request) throws IOException {
            System.out.println(file.length);
            String savaLaction="d:/data/";
            String fileSaveName;
            List<String> imageUri = new ArrayList<>();
            for (MultipartFile multipartFile:file) {
                System.out.println("文件"+multipartFile.getOriginalFilename());
                fileSaveName = UUID.randomUUID().toString()+multipartFile.getOriginalFilename();
                multipartFile.transferTo(new File(savaLaction,fileSaveName));
                String res = request.getScheme()+"://"+request.getServerName()+":"+"8080"+savaLaction+"/"+fileSaveName;
                imageUri.add(res);
            }
            System.out.println(imageUri);
            return imageUri;
        }
    
    }
    
    
  3. 跨域攔截器配置

    package com.yqifei.upload.utils;
    
    import org.springframework.context.annotation.Configuration;
    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    @WebFilter(filterName = "CorsFilter")
    @Configuration
    public class CorsFilter implements Filter {
        @Override
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
            response.setHeader("Access-Control-Allow-Origin","*");
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
            response.setHeader("Access-Control-Max-Age", "3600");
            response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            chain.doFilter(req, res);
        }
    }
    
    
  4. application.properties配置

    # 應(yīng)用名稱
    spring.application.name=upload
    # 應(yīng)用服務(wù) WEB 訪問端口
    server.port=8088
    
    spring.web.resources.static-locations=file:d:/data/
    
    spring.servlet.multipart.max-request-size=50MB
    spring.servlet.multipart.max-file-size=50MB
    
  5. 前端頁(yè)面

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title>Multiple File Upload</title>
      </head>
      <body>
        <h1>Multiple File Upload</h1>
        <form>
          <input type="file" id="fileInput" multiple />
          <button type="button" onclick="uploadFiles()">Upload</button>
        </form>
        <div id="progress"></div>
        <div>圖片返回值地址:</div>
        <div id="result"></div>
      </body>
      <script>
        function uploadFiles() {
          const files = document.getElementById("fileInput").files;
          const xhr = new XMLHttpRequest();
          const formData = new FormData();
    
          for (let i = 0; i < files.length; i++) {
            formData.append("file", files[i]);
          }
    
          xhr.open("POST", "http://localhost:8088/posts/upload");
          xhr.upload.addEventListener("progress", function (event) {
            if (event.lengthComputable) {
              const percent = Math.round((event.loaded / event.total) * 100);
              const progress = document.getElementById("progress");
              progress.innerHTML = "Upload progress: " + percent + "%";
            }
          });
          xhr.addEventListener("load", function (event) {
            const response = JSON.parse(event.target.responseText);
            console.log(response);
            // 在HTML頁(yè)面上找到需要顯示響應(yīng)結(jié)果的元素
            const resultElement = document.getElementById("result");
            // 更新元素的文本內(nèi)容為服務(wù)器返回的值
            resultElement.textContent = response;
          });
          xhr.send(formData);
        }
      </script>
    </html>
    
    
    
  6. 效果展示

    Spring Boot 實(shí)現(xiàn)多文件上傳

  7. 獲取圖片的url并且讀取圖片
    Spring Boot 實(shí)現(xiàn)多文件上傳

    1. 修改tomcat的server.xml文件

      Spring Boot 實(shí)現(xiàn)多文件上傳

      加上下面這句文章來源地址http://www.zghlxwxcb.cn/news/detail-402002.html

      <Context docBase ="/home/springbootVue/files" path ="/home/springbootVue/files" debug ="0" reloadable ="true"/>
      // 	docBase代表文件路徑,path是瀏覽器訪問時(shí)的路徑。
      // 若自己創(chuàng)建的文件夾在tomcat目錄的webapps中,不同之處: docBase直接寫文件夾文字即可(注意:沒有/) 例如 docBase ="home/springbootVue/files"
      

到了這里,關(guān)于Spring Boot 實(shí)現(xiàn)多文件上傳的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot + MinIO 實(shí)現(xiàn)文件切片極速上傳技術(shù)

    Spring Boot + MinIO 實(shí)現(xiàn)文件切片極速上傳技術(shù)

    ??歡迎來到SpringBoot框架學(xué)習(xí)專欄~ ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁(yè):IT·陳寒的博客 ??該系列文章專欄:SpringBoot ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯(cuò)誤,希望大家能指

    2024年02月04日
    瀏覽(22)
  • minio + linux + docker + spring boot實(shí)現(xiàn)文件上傳與下載

    minio + linux + docker + spring boot實(shí)現(xiàn)文件上傳與下載

    檢查linux內(nèi)核,必須是3.10以上 安裝docker 啟動(dòng)docker 搜索鏡像 拉取鏡像 啟動(dòng)minio -p: 指定端口映射,格式為:主機(jī)端口:容器端口 (這里注意要映射兩個(gè),否則API會(huì)訪問不到) -e “MINIO_ROOT_USER=vinci” minio用戶名; -e MINIO_SECRET_KEY=123456 minio 密碼 -d: 后臺(tái)運(yùn)行容器,并返回容器ID; -

    2024年02月07日
    瀏覽(27)
  • JAVA面試題分享五百一十一:Spring Boot基于WebUploader實(shí)現(xiàn)超大文件上傳和斷點(diǎn)續(xù)傳

    JAVA面試題分享五百一十一:Spring Boot基于WebUploader實(shí)現(xiàn)超大文件上傳和斷點(diǎn)續(xù)傳

    目錄 前言 目標(biāo) 實(shí)現(xiàn)思路 大文件分片 合并分片 斷點(diǎn)續(xù)傳 代碼實(shí)現(xiàn) 1、webuploader組件中,分片上傳怎么開啟? 2、webuploader組件中,文件的md5值如何計(jì)算? 3、webuploader組件中,分片文件的md5值如何計(jì)算? 4、webuploader組件中,分片上傳的的請(qǐng)求在哪里觸發(fā)? 5、前端、后端如何校

    2024年02月19日
    瀏覽(28)
  • spring boot文件上傳

    文件上傳,是指將本地圖片、視頻、音頻等文件上傳到服務(wù)器,供其他用戶瀏覽或下載的過程。 文件上傳在項(xiàng)目中應(yīng)用非常廣泛,我們經(jīng)常發(fā)微博、發(fā)微信朋友圈都用到了文件上傳功能。 前端代碼: 后端代碼: 對(duì)于阿里云的oss的使用可閱讀對(duì)象存儲(chǔ) OSS官方文檔 導(dǎo)入依賴

    2024年02月08日
    瀏覽(25)
  • Spring Boot中實(shí)現(xiàn)文件上傳

    要在Spring Boot中實(shí)現(xiàn)文件上傳,可以按照以下步驟進(jìn)行操作: 添加依賴:在Maven或Gradle配置文件中添加Spring Boot Web相關(guān)的依賴。 創(chuàng)建文件上傳接口:創(chuàng)建一個(gè)控制器(Controller)類,定義文件上傳的接口。例如: java復(fù)制代碼 import org.springframework.web.bind.annotation.PostMapping; impor

    2024年02月12日
    瀏覽(20)
  • Spring Boot 設(shè)置上傳文件大小限制

    在開發(fā) Web 應(yīng)用程序時(shí),我們通常需要處理文件上傳功能。為了確保系統(tǒng)的安全性和穩(wěn)定性,我們需要限制上傳文件的大小。本篇博客將介紹如何使用 Spring Boot 設(shè)置上傳文件大小限制。 1. application.properties 配置文件 Spring Boot 提供了一種簡(jiǎn)單的方式來配置上傳文件大小限制。首

    2024年02月04日
    瀏覽(246)
  • spring boot 上傳文件的大小限制

    根據(jù)spring boot 版本不同在application.properties文件添加不同的配置 Spring Boot 1.3 或之前的版本,配置: Spring Boot 1.4 版本后配置更改為: Spring Boot 2.0 之后的版本配置修改為: 單位Mb改為MB了: 以上配置直接在配置文件中即可

    2024年02月07日
    瀏覽(90)
  • Spring Boot 中實(shí)現(xiàn)文件上傳、下載、刪除功能

    Spring Boot 中實(shí)現(xiàn)文件上傳、下載、刪除功能

    ??作者簡(jiǎn)介,普修羅雙戰(zhàn)士,一直追求不斷學(xué)習(xí)和成長(zhǎng),在技術(shù)的道路上持續(xù)探索和實(shí)踐。 ??多年互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗(yàn),歷任核心研發(fā)工程師,項(xiàng)目技術(shù)負(fù)責(zé)人。 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 ?? SpringBoot 領(lǐng)域知識(shí) ?? 鏈接 專欄 SpringBoot 專業(yè)知識(shí)學(xué)習(xí)一 SpringBoot專欄 Sprin

    2024年01月19日
    瀏覽(34)
  • spring boot + minio 分布式文件上傳

    spring boot + minio 分布式文件上傳

    1、分布式文件系統(tǒng) 簡(jiǎn)單理解為:一個(gè)計(jì)算機(jī)無(wú)法存儲(chǔ)海量的文件,通過網(wǎng)絡(luò)將若干計(jì)算機(jī)組織起來共同去存儲(chǔ)海量的文件,去接收海量用戶的請(qǐng)求,這些組織起來的計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信。 好處: 一臺(tái)計(jì)算機(jī)的文件系統(tǒng)處理能力擴(kuò)充到多臺(tái)計(jì)算機(jī)同時(shí)處理。 一臺(tái)計(jì)算機(jī)

    2024年02月08日
    瀏覽(22)
  • Spring Boot 筆記 019 創(chuàng)建接口_文件上傳

    Spring Boot 筆記 019 創(chuàng)建接口_文件上傳

    1.1 創(chuàng)建阿里OSS bucket OSS Java SDK 兼容性和示例代碼_對(duì)象存儲(chǔ)(OSS)-阿里云幫助中心 (aliyun.com) 1.2 編寫工具類 1.3 創(chuàng)建文件上傳controller 1.4 postman測(cè)試

    2024年02月22日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包