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的根目录!
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|