Springboot+MultipartFile实现单文件,多文件批量上传。
发布时间:2022-12-12 18:40:43 386 相关标签: # html# java# spring# java# json
代码:
/**
* 文件上传请求
*/
/**
* 文件上传请求
*/
@PostMapping(value ="upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ApiOperation(value = "文件上传请求")
public R 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 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 :
Swagger 验证一下:


文章来源: https://blog.51cto.com/u_15906694/5922635
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报