MultipartFile来上传单个及多个文件代码示例

一、MultipartFile上传单个文件代码示例

1.1、MultipartFile上传单个文件,不包含其它参数

  • 控制层代码如下:

    /**
     * 1、上传单个文件,不包含其它参数
     * */
    @PostMapping( "/uploadFile1")
    public String uploadFile1(@RequestParam(value = "file") MultipartFile multipartFile) {
        String fileName = multipartFile.getOriginalFilename();
        return "文件名称:"+fileName;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为File类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了文件名称,如下图:
    在这里插入图片描述

1.2、MultipartFile上传单个文件,包含其它参数

  • 控制层代码如下:

    /**
     * 2、上传单个文件,包含其它参数
     * */
    @PostMapping( "/uploadFile2")
    public String uploadFile2(@RequestParam(value = "file") MultipartFile multipartFile,String username){
        String fileName = multipartFile.getOriginalFilename();
        return "文件名称:"+fileName+ "----username: " + username ;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为file类型,参数key的值为Text类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了文件名称及参数的值,如下图:
    在这里插入图片描述

1.3、MultipartFile上传单个文件,包含其它请求实体

  • 控制层代码如下:

      /**
     * 3、上传单个文件,包含其它请求实体
     * */
    @PostMapping( "/uploadFile3")
    public String uploadFile3(@RequestParam(value = "file") MultipartFile multipartFile,Users users){
        String fileName = multipartFile.getOriginalFilename();
        return "文件名称:"+fileName+ "----users: " + users.toString() ;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为file类型,请求实体参数key的值为Text类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了文件名称及请求实体,如下图:
    在这里插入图片描述

二、MultipartFile上传多个文件代码示例

2.1、MultipartFile上传多个文件,不包含其它参数

  • 控制层代码如下:

    /**
     * 4、上传多个文件,不包含其它参数
     * */
    @PostMapping( "/uploadFile4")
    public JSONObject uploadFile4(@RequestParam(value = "file") MultipartFile[] multipartFile) {
        JSONObject jsonObject = new JSONObject();
        for(int i = 0; i < multipartFile.length; i++) {
            jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
        }
        return jsonObject;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为file类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了多个文件名称,如下图:
    在这里插入图片描述

2.2、MultipartFile上传多个文件,包含其它参数

  • 控制层代码如下:

    /**
     * 5、上传多个文件,包含其它参数
     * */
    @PostMapping( "/uploadFile5")
    public JSONObject uploadFile5(@RequestParam(value = "file") MultipartFile[] multipartFile,String username,String age) {
        JSONObject jsonObject = new JSONObject();
        for(int i = 0; i < multipartFile.length; i++) {
            jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
        }
        jsonObject.put("username", username);
        jsonObject.put("age", age);
        return jsonObject;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为file类型,参数key的值为Text类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了多个文件名称及参数,如下图:
    在这里插入图片描述

2.3、MultipartFile上传多个文件,包含其它请求体

  • 控制层代码如下:

    /**
     * 6、上传多个文件,包含其它请求体
     * */
    @PostMapping( "/uploadFile6")
    public JSONObject uploadFile6(@RequestParam(value = "file") MultipartFile[] multipartFile,Users users) {
        JSONObject jsonObject = new JSONObject();
        for(int i = 0; i < multipartFile.length; i++) {
            jsonObject.put("fileName" + i, multipartFile[i].getOriginalFilename());
        }
        jsonObject.put("users", users.toString());
        return jsonObject;
    }
    
  • postman接口调用, Headers里需要添加key: Content-Type , value:multipart/form-data;如下图:
    在这里插入图片描述

  • 接口类型是Post,body请求体里选择from-data这种方式,文件key的格式设置为file类型,参数key的值为Text类型,如下图:
    在这里插入图片描述

  • 调用接口,返回了多个文件名称及请求体,如下图:
    在这里插入图片描述

若要在项目中使用框架如Spring MVC实现多文件上传功能,可以按照以下步骤操作: 1. 添加Multipart配置:在Web应用的`spring-mvc.xml`或`applicationContext.xml`配置文件中启用Multipart解析器,设置最大上传文件大小(max-file-size)和允许的最大总上传大小(max-request-size)。 ```xml <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> <property name="maxUploadSize" value="50MB"/> <!-- 设置最大上传文件大小 --> </bean> ``` 2. 创建Controller处理类:创建一个Spring MVC控制器类,使用`@RequestParam`注解接收请求体中的文件。 ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.multipart.MultipartFile; @Controller public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file, Model model) { // 文件上传处理逻辑... return "redirect:/success"; // 成功后跳转到指定页面 } } ``` 3. HTML表单:在前端HTML页面上,创建一个包含`multiple`属性的文件输入框,用户可以选择多个文件上传。 ```html <form method="post" enctype="multipart/form-data" action="/upload"> <input type="file" name="file" multiple /> <input type="submit" value="上传" /> </form> ``` 4. 错误处理:添加错误处理机制,检查文件是否有效、是否超过限制等。 5. 存储文件:将上传文件保存到服务器的适当位置,通常是某个目录下,并确保安全性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小志的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值