1.web前端设置
<form
action="http://localhost:8888/upload"
method="post"
enctype="multipart/form-data"
>
<p>
选择文件
<input
@change="submitFile(this)"
type="file"
name="file"/>
</p>
<p>
<input
type="submit"
value="上传"
/>
</p>
</form>
2.Springboot pom
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>co.goho.yuanyu</groupId>
<artifactId>springbootvue</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.2</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
</project>
3.Springboot application.yml
spring:
servlet:
multipart:
max-request-size: 300MB
max-file-size: 20MB
server:
port: 8888
4.Controller类
import org.springframework.util.unit.DataUnit;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
@RestController
public class FileController {
@PostMapping("upload")
public String upload(@RequestParam("file")MultipartFile file){
// System.out.println(file.getSize());
String fileName="f:\\upload\\"+UUID.randomUUID().toString()+"_"+file.getOriginalFilename();
try {
file.transferTo(new File(fileName));
} catch (IOException e) {
throw new RuntimeException(e);
}
return fileName;
}
}
5.页面效果
6.上传完成
7.检查文件