Springboot實現(xiàn)多文件上傳代碼解析
一說明
spingMVC支持文件上傳,我們通過Apach 的 commons-fileupload 包的CommonsMultipartResolver 去實現(xiàn)了
spingMVC的MultipartResolver 。
本文章的示例是個簡單的多文件上傳,根據(jù)不同的業(yè)務自行修改。
二pom.xlm
<dependencies>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
三 application.yml
spring: servlet: multipart: max-file-size: 200MB #單個文件上傳大小 max-request-size: 600MB #連續(xù)上傳文件大小 youku1327: file: root: path: "C:\\mydata\\generator\\version06\\" #存儲路徑
四controller
/**
* @Author lsc
* @Description <p> </p>
* @Date 2019/10/2 20:58
* @Version 1.0
*/
@RestController
public class FileUploadController {
@Value("${youku1327.file.root.path}")
private String fileRootPath;
@PostMapping("/file/upload")
public String fileUpload(@RequestParam("files")MultipartFile[] files){
String filePath = "";
// 多文件上傳
for (MultipartFile file : files){
// 上傳簡單文件名
String originalFilename = file.getOriginalFilename();
// 存儲路徑
filePath = new StringBuilder(fileRootPath)
.append(System.currentTimeMillis())
.append(originalFilename)
.toString();
try {
// 保存文件
file.transferTo(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
}
}
return filePath;
}
}
五啟動類
/**
* @Author lsc
* @Description <p> </p>
* @Date 2019/10/2 20:54
* @Version 1.0
*/
@SpringBootApplication
public class FileUploadApplication {
public static void main(String[] args) {
SpringApplication.run(FileUploadApplication.class,args);
}
}
六測試
發(fā)送http的post請求,使用表單形式,key為files需要與MultipartFile[] 的參數(shù)名稱一致,挑選兩個文件,發(fā)送成功后,會看到最后返回的文件路徑;

打開保存的文件路徑可以發(fā)現(xiàn)已經(jīng)實現(xiàn)文件上傳。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
IDEA搭建純注解版本SpringMVC的web開發(fā)環(huán)境全過程并分析啟動原理
本文詳細介紹了如何使用注解開發(fā)搭建Spring Web環(huán)境,包括創(chuàng)建Maven工程、配置web環(huán)境、設置pom.xml、創(chuàng)建配置類和控制器等步驟,同時,文章還探討了注解開發(fā)中如何創(chuàng)建IOC容器和添加DispatcherServlet組件,并通過Servlet 3.0規(guī)范2024-11-11
Java?Mybatis使用resultMap時,屬性賦值順序錯誤的巨坑
這篇文章主要介紹了Java?Mybatis使用resultMap時,屬性賦值順序錯誤的巨坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
spring boot idea maven依賴找不到問題處理方法
這篇文章主要介紹了spring boot idea 偶爾maven依賴找不到問題,這里總結了幾種處理方法,方便嘗試排查,對spring boot idea maven依賴找不到問題感興趣的朋友跟隨小編一起看看吧2023-08-08
如何使用Java給您的圖片瘦身之Thumbnailator技術
在java日常開發(fā)中經(jīng)常遇到對圖片資源的操作需求,如壓縮、縮放、旋轉(zhuǎn),下面這篇文章主要給大家介紹了關于如何使用Java給您的圖片瘦身之Thumbnailator技術的相關資料,需要的朋友可以參考下2022-10-10
使用Spring開啟@Async異步方式(javaconfig配置)
這篇文章主要介紹了使用Spring開啟@Async異步方式(javaconfig配置),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot之那些注入不了的Spring占位符(${}表達式)問題
這篇文章主要介紹了SpringBoot之那些注入不了的Spring占位符(${}表達式)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

