一 創建springboot項目
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.bjsxt</groupId>
<artifactId>07-spring-boot-fileupload</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 修改jdk版本 -->
<properties>
<java.version>1.7</java.version>
</properties>
<dependencies>
<!-- springBoot的啓動器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
二 創建前端的html頁面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上傳</title>
</head>
<body>
<form action="fileUploadController" method="post" enctype="multipart/form-data">
上傳文件:<input type="file" name="filename"/><br/>
<input type="submit"/>
</form>
</body>
</html>
三 創建Controller
package com.bjsxt.controller;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
/**
* SpringBoot文件上傳
*
*
*/
//@Controller
@RestController //表示該類下的方法的返回值會自動做json格式的轉換
public class FileUploadController {
/*
* 處理文件上傳
*/
@RequestMapping("/fileUploadController")
public Map<String, Object> fileUpload(MultipartFile filename)throws Exception{
System.out.println(filename.getOriginalFilename());
filename.transferTo(new File("e:/"+filename.getOriginalFilename()));
Map<String, Object> map = new HashMap<>();
map.put("msg", "ok");
return map;
}
}
三 配置上傳文件大小屬性
在application.properties文件中設置:
#設置單個上傳文件的大小
spring.http.multipart.maxFileSize=200MB
#設置一次請求上傳文件的總容量
spring.http.multipart.maxRequestSize=200MB