1.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <groupId>com.mr.li</groupId> <artifactId>springboot_002</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- 修改jdk版本 --> <properties> <java.version>1.7</java.version> </properties> <dependencies> <!-- 添加web啟動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>
2.controller
package com.mr.li.controller; import java.io.File; import java.util.HashMap; import java.util.Map; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @RestController //此注解的意思是:將所有方法的返回值轉為json串,相當於@Controller + 方法上的@ResponseBody public class FileUploadController { /** * 如果上傳的地方upload.html中的名稱如果和這里的參數MultipartFile名稱一致的話就不用加@RequestParm注解, * 上傳的名稱為:filename,而這里接受的卻為multipartFile,所以為了可以接受到就將名字注解一下,或者改為一致也行。 * 至於RequestMapping中的參數要和上傳時的action參數一致,這樣上傳的時候才能訪問到本方法。 * @param multipartFile springMvc封裝好的一個文件對象,其中可以包括:圖片,音頻,視頻,文本.... * @return * @throws Exception */ @RequestMapping("/fileUpload") public Map<String, Object> upload(@RequestParam("filename") MultipartFile multipartFile) throws Exception{ System.out.println("文件名:"+multipartFile.getOriginalFilename()); //保存文件 multipartFile.transferTo(new File("e:/"+multipartFile.getOriginalFilename())); Map<String, Object> map = new HashMap<String, Object>(); map.put("msg", "ok"); return map; } }
3.application.properties
#配置單次上傳文件的大小
spring.http.multipart.maxFileSize=100MB
#配置此次上傳文件的總大小
spring.http.multipart.maxRequestSize=200MB
4.輔助上傳:upload.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文件上傳</title> </head> <body> <form action="fileUpload" method="post" enctype="multipart/form-data"> 上傳:<input type="file" name="filename"/> <input type="submit"/> </form> </body> </html>
訪問路徑:http://localhost:8080/fileUpload
項目結構;