SpringBoot文件上传

一、单个文件上传

1. 在static目录下创建upload.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
    <form action="fileUploadController" method="post" enctype="multipart/form-data">
        <p><span>上传文件:</span><input type="file" name="fileName"/></p>
        <p><input type="submit" value="submit"/></p>
    </form>
</body>
</html>

2. 编写文件上传的Controller

@RestController
public class FileUploadController {
    //fileName必须与form表单中上传文件的name属性一致
    @RequestMapping(value="/fileUploadController")
    public Map<String,Object> fileUpload(MultipartFile fileName) throws Exception{
        System.out.println(fileName.getOriginalFilename());
        fileName.transferTo(new File("d:/"+fileName.getOriginalFilename()));
        Map<String, Object> map = new HashMap<String,Object>(); 
        map.put("msg", "ok"); 
        return map;
    }
}

3. 文件大小限制

springboot默认上传的文件大小是10M,可以通过配置修改。

在类路径的根路径下新建一个文件名src/main/resources/application.properties,内容:

设置单个上传文件的大小 ,这里的单位必须是全称,不能是200M,同时SpringBoot1.5与2.0的配置也是不一样的
spring.servlet.multipart.max-file-size=200MB
#设置一次请求上传文件的总容量 
spring.servlet.multipart.max-request-size=200MB
#如果不限制大小,则设置为-1即可

二、多个文件上传

1. upload.html

<form action="fileUploadController" method="post" enctype="multipart/form-data" >
    <p>选择文件1: <input type="file" name="fileName"/></p>
    <p>选择文件2: <input type="file" name="fileName"/></p>
    <p>选择文件3: <input type="file" name="fileName"/></p>
    <p><input type="submit" value="提交"/></p>
</form>

2. controller的方法参数修改如下:

public Map<String,Object> fileUpload(@RequestParam("fileName") List<MultipartFile> files) throws Exception{}

 

posted @ 2019-09-14 10:19  codedot  阅读(287)  评论(0编辑  收藏  举报