袁门才俊志高远,
震古烁今意决然。
风采翩翩才情显,
雄姿英发立世间。
目录
一,简单案例演示
首先简单编写一个前端网页:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>yz测试上传文件</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
姓名:<input type="text" name="username"><br>
年龄:<input type="text" name="age"><br>
头像:<input type="file" name="image"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
在浏览器打开:
在之前的项目中创建UpLoadController,之前的项目可以看文章Java---SpringBoot详解一_java springbot-CSDN博客
@RestController
public class UpLoadController {
@PostMapping("/upload")
public Result upLoad(String name, Integer age, MultipartFile image) {
System.out.println("name:"+name+",age:"+age+",file:"+image);
return Result.success();
}
}
二,服务器本地存储
上面只是进行了请求,下面我们将上传的文件保存到服务器本地
对UpLoadController进行改造:
@RestController
public class UpLoadController {
@PostMapping("/upload")
public Result upLoad(String name, Integer age, MultipartFile image) throws IOException {
System.out.println("name:"+name+",age:"+age+",file:"+image);
//获取文件名
String fileName=image.getOriginalFilename();
//将文件保存在本地
image.transferTo(new File("D:\\javatest\\file\\"+fileName));
return Result.success();
}
}
利用postman进行测试:
然后在服务器查看文件:
三,配置单个文件上传大小限制
如果我们不配置文件的大小,默认大小就是1M,超过1M大小的文件就会报错。
所以我们需要在application.properties文件中配置大小。根据自己的实际业务配置:
server.port=8080
#配置单个文件的大小
spring.servlet.multipart.max-file-size=10GB
#配置单个请求最大大小的限制(一次请求中是可以上传多个文件)
spring.servlet.multipart.max-request-size=10GB