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

 更新时间:2024年01月04日 09:39:39   作者:小志的博客  
这篇文章主要介绍了使用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类型

如下图:

调用接口,返回了多个文件名称及请求体

如下图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JSON 与对象、集合之间的转换的示例

    JSON 与对象、集合之间的转换的示例

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,本篇文章主要介绍了JSON 与 对象 、集合 之间的转换,有兴趣的可以了解一下。
    2017-01-01
  • java中string.trim()函数的作用实例及源码

    java中string.trim()函数的作用实例及源码

    这篇文章主要介绍了java中string.trim()函数的作用实例及源码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 深入了解Java核心类库--泛型类

    深入了解Java核心类库--泛型类

    这篇文章主要为大家详细介绍了java泛型类定义与使用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能给你带来帮助
    2021-07-07
  • MyBatis select标签的使用示例

    MyBatis select标签的使用示例

    MyBatis中,select 标签是最常用也是功能最强大的 SQL 语言,用于执行查询操作,本文就来介绍了MyBatis select标签的使用示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • java使用common-httpclient包实现post请求方法示例

    java使用common-httpclient包实现post请求方法示例

    这篇文章主要给大家介绍了关于java使用common-httpclient包实现post请求的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 使用Java实现获取文件MD5值工具类

    使用Java实现获取文件MD5值工具类

    我们在工作中通常使用MD5对文件进行校验完整性,比较,提高安全性等,这篇文章主要为大家详细介绍了Java如何编写一个实现获取文件MD5值的工具,需要的可以参考下
    2023-12-12
  • SpringBoot项目打包成war包并部署在tomcat上运行的操作步骤

    SpringBoot项目打包成war包并部署在tomcat上运行的操作步骤

    我们开发 SpringBoot 项目有时我们会需要打包成 war 包,放入外置的 Tomcat 中进行运行,或者使用工具idea直接启动,便于开发调试,本文给大家分享SpringBoot项目打包成war包并部署在tomcat上运行的操作步骤,感兴趣的朋友一起看看吧
    2024-03-03
  • SpringBoot实现日志链路追踪的项目实践

    SpringBoot实现日志链路追踪的项目实践

    在分布式系统中,由于请求的处理过程可能会跨越多个服务,因此,对请求的追踪变得尤为重要,本文主要介绍了SpringBoot实现日志链路追踪的项目实践,感兴趣的可以了解一下
    2024-03-03
  • Java同步非阻塞模式NIO处理IO数据

    Java同步非阻塞模式NIO处理IO数据

    这篇文章主要介绍了Java同步非阻塞模式NIO处理IO数据,服务器实现模式为一个请求一个线程,即客户端发送的链接请求都会注册到选择器上,选择器轮询到连接有IO请求时才启动一个线程进行处理,需要的朋友可以参考下
    2023-10-10
  • java中如何获取时间戳的方法实例

    java中如何获取时间戳的方法实例

    时间戳通常是一个字符序列,唯一地标识某一刻的时间,所以下面这篇文章主要给大家介绍了关于java中如何获取时间戳的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-11-11

最新评论