🔰 学习视频 🔰
尚硅谷雷神SpringBoot2零基础入门springboot全套完整版(spring boot2)
集数:50—55 (原理部分跳过)
🔰 学习笔记 🔰
一、文件上传
1.1 依赖
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
1.2 upload.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file1">单文件上传 <br>
<input type="file" name="file2" multiple>多文件上传 <br>
<input type="submit">
</form>
</body>
</html>
1.3 Controller
视频中的代码会报错,所以进行了修改:
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
/**
* 文件上传测试
*/
@Controller
public class FormTestController {
@PostMapping("/upload")
public String upload(@RequestPart("file1") MultipartFile file1,
@RequestPart("file2") MultipartFile[] file2) throws IOException {
if (!file1.isEmpty()) {
String originalFilename = file1.getOriginalFilename();
FileUtils.copyInputStreamToFile(file1.getInputStream(), new File("D:\\" + originalFilename));
}
if (file2.length > 0) {
for (MultipartFile file : file2) {
if (!file.isEmpty()) {
String originalFilename = file.getOriginalFilename();
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("D:\\" + originalFilename));
}
}
}
return "index";
}
}
1.4 配置
src/main/resources/application.properties
分别设置单个文件最大和最大的上传请求。
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=100MB
界面显示,上传成功后就可以在D盘下看到上传的文件了
二、错误处理
默认情况下,Spring Boot提供/error处理所有错误的映射
对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息。
对于浏览器客户端,响应一个“ whitelabel”错误视图,以HTML格式呈现相同的数据。
可以把常见错误的页面放在public/error
或templates/error
目录下: