Springboot+MultipartFile实现单文件,多文件批量上传过程
更新时间:2025年07月24日 16:16:10 作者:抹香鲸之海
在Spring Boot中,若需Swagger显示文件上传按钮,需使用@Consumes注解指定Content-Type(如multipart/form-data),以告知接口接受文件类型,此注解帮助Swagger正确识别请求参数,确保功能展示完整
Springboot+MultipartFile单文件多文件批量上传
代码:
/**
* 文件上传请求
*/
/**
* 文件上传请求
*/
@PostMapping(value ="upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ApiOperation(value = "文件上传请求")
public R<SysFile> upload(@RequestPart("file") MultipartFile file)
{
try
{
// 上传并返回访问地址
String url = sysFileService.uploadFile(file);
SysFile sysFile = new SysFile();
sysFile.setName(FileUtils.getName(url));
sysFile.setUrl(url);
return R.ok(sysFile);
}
catch (Exception e)
{
log.error("上传文件失败", e);
return R.fail(e.getMessage());
}
}
/**
* 批量上传
* @param files
* @return
*/
@PostMapping(value ="batchUploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ApiOperation(value = "文件上传请求")
public R<JSONArray> batchUploadFile(@RequestPart("files") MultipartFile[] files)
{
try
{
JSONArray jsonArray=new JSONArray();
for(MultipartFile file : files) {//循环单个上传
// 上传并返回访问地址
String url = sysFileService.uploadFile(file);
SysFile sysFile = new SysFile();
sysFile.setName(FileUtils.getName(url));
sysFile.setUrl(url);
jsonArray.add(sysFile);
}
return R.ok(jsonArray);
}
catch (Exception e)
{
log.error("上传文件失败", e);
return R.fail(e.getMessage());
}
}
Springboot里面要用这个标签接受文件,不然swagger上可能没有按钮。
@PostMapping(value ="upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
consumes直译是消费者,其实就是限制方法处理指定Content-Type的http请求
常见的媒体格式类型
如下:
text/html:HTML格式text/plain:纯文本格式text/xml:XML格式image/gif:gif图片格式image/jpeg:jpg图片格式image/png:png图片格式application/xhtml+xml:XHTML格式application/xml:XML数据格式application/atom+xml:Atom XML聚合格式application/json:JSON数据格式application/pdf:pdf格式application/msword:Word文档格式application/octet-stream:二进制流数据(如常见的文件下载)application/x-www-form-urlencoded:<form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)multipart/form-data:需要在表单中进行文件上传时,就需要使用该格式
Swagger验证一下


总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Springboot获取文件内容如何将MultipartFile转File
- Springboot MultipartFile文件上传与下载的实现示例
- Springboot 上传文件或头像(MultipartFile、transferTo)
- SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法
- 关于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服务传输的问题
- 文件上传SpringBoot后端MultipartFile参数报空问题的解决办法
- 解决springboot 多线程使用MultipartFile读取excel文件内容报错问题
相关文章
java同步器AQS架构AbstractQueuedSynchronizer原理解析下
这篇文章主要为大家介绍了java同步器AQS架构AbstractQueuedSynchronizer原理解析下,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-03-03
解决maven项目tomcat启动失败war exploded:Error during
在SpringMVC项目中,使用war和warexploded两种部署方式可能会导致不同的路径问题,从而出现404错误,war模式将项目打包上传,而warexploded模式则保持文件夹结构上传,开发时建议使用warexploded模式,方便利用Update classes and resources功能自动更新2024-10-10
IDEA新建bootstrap.yml文件不显示叶子图标的问题
这篇文章主要介绍了IDEA新建bootstrap.yml文件不显示叶子图标的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07


最新评论