一說明
spingMVC支持文件上傳,我們通過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ì)看到最后返回的文件路徑;
打開保存的文件路徑可以發(fā)現(xiàn)已經(jīng)實(shí)現(xiàn)文件上傳。
本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個(gè)人觀點(diǎn), 并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個(gè)個(gè)人學(xué)習(xí)交流的平臺(tái),網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對(duì)作者和來源進(jìn)行了通告,但是能力有限或疏忽,造成漏登,請(qǐng)及時(shí)聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對(duì)此聲明的最終解釋權(quán)。