【SpringBoot】07.SpringBoot文件上传
SpringBoot文件上传
1.编写html文件在classpath下的static中
<!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>
2.编写处理文件上传的类和方法
/**
* SpringBoot文件上传
*/
//这个类下的所有方法返回值自动做json格式的转换。类似@Controller + @ResponseBody
@RestController
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<String, Object>();
map.put("msg", "ok");
return map;
}
}
@RestController注解就是这个类下的所有方法返回值自动做json格式的转换。
类似@Controller + @ResponseBody
3.上传大文件出错的问题
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (36456567) exceeds the configured maximum (10485760)
说明文件大小超过默认大小。
我们需要修改默认大小:
-
在classpath的根目录下创建 application.properties
#SpringBoot2.0以下的版本: #上传文件的单个大小 spring.http.multipart.maxFileSize=200MB #上传文件的总大小 spring.http.multipart.maxRequestSize=200MB #SpringBoot2.0后的版本: spring.servlet.multipart.maxFileSize=100MB spring.servlet.multipart.maxRequestSize=100MB
注意:application.properties必须放在classpath的根目录!
本文来自博客园,作者:邓晓晖,转载请注明原文链接:https://www.cnblogs.com/isdxh/p/13528156.html