• 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{}
  • 相关阅读:
    微服务
    flume
    mongodb
    Java 代理学习笔记
    HttpClient连接池
    一起写RPC
    spring boot cloud
    .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
    EF提示“序列化类型为XXX的对象时检测到循环引用”
    Handlebars.js registerHelper
  • 原文地址:https://www.cnblogs.com/myitnews/p/11518490.html
Copyright © 2020-2023  润新知