Springboot實(shí)現(xiàn)多文件上傳代碼解析
一說(shuō)明
spingMVC支持文件上傳,我們通過(guò)Apach 的 commons-fileupload 包的CommonsMultipartResolver 去實(shí)現(xiàn)了
spingMVC的MultipartResolver 。
本文章的示例是個(gè)簡(jiǎn)單的多文件上傳,根據(jù)不同的業(yè)務(wù)自行修改。
二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 #單個(gè)文件上傳大小 max-request-size: 600MB #連續(xù)上傳文件大小 youku1327: file: root: path: "C:\\mydata\\generator\\version06\\" #存儲(chǔ)路徑
四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){
// 上傳簡(jiǎn)單文件名
String originalFilename = file.getOriginalFilename();
// 存儲(chǔ)路徑
filePath = new StringBuilder(fileRootPath)
.append(System.currentTimeMillis())
.append(originalFilename)
.toString();
try {
// 保存文件
file.transferTo(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
}
}
return filePath;
}
}
五啟動(dòng)類
/**
* @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);
}
}
六測(cè)試
發(fā)送http的post請(qǐng)求,使用表單形式,key為files需要與MultipartFile[] 的參數(shù)名稱一致,挑選兩個(gè)文件,發(fā)送成功后,會(huì)看到最后返回的文件路徑;

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

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

