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)

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

我们需要修改默认大小:

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


原文链接:https://www.cnblogs.com/net-safe/p/13528156.html