加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

【SpringBoot】07.SpringBoot文件上传

发布时间:2020-12-15 07:08:39 所属栏目:Java 来源:网络整理
导读:SpringBoot文件上传 1.编写html文件在classpath下的static中 !DOCTYPE htmlhtmlheadmeta charset="UTF-8"title文件上传/title/headbodyform action="fileUploadController" method="post" enctype="multipart/form-data"上传文件:input type="file" name="f

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)

说明文件大小超过默认大小。

我们需要修改默认大小:

  1. 在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的根目录!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读