[测试]Sprint Boot
昨天,我们介绍了如何在Spring Boot中实现文件的上传。有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法。
动手试试
本文的动手环节将基于Spring Boot中实现文件的上传一文的例子之上,所以读者可以拿上一篇的例子作为基础来进行改造,以体会这之间的区别,下面也主要讲解核心区别的地方。
第一步:修改文件上传页面的上传表单
文件上传页面 - didispace.com - 锐客网
文件上传页面
可以看到这里多增加一个input文件输入框,同时文件输入框的名称修改为了files,因为是多个文件,所以用了复数。注意:这几个输入框的name是一样的,这样才能在后端处理文件的时候组织到一个数组中。
第二步:修改后端处理接口
@PostMapping("/upload")
@ResponseBody
public String create(@RequestPart MultipartFile[] files) throws IOException {
StringBuffer message = new StringBuffer();
for (MultipartFile file : files) {
String fileName = file.getOriginalFilename();
String filePath = path + fileName;
File dest = new File(filePath);
Files.copy(file.getInputStream(), dest.toPath());
message.append("Upload file success : " + dest.getAbsolutePath()).append("
");
}
return message.toString();
}
几个重要改动:
MultipartFile
使用数组,参数名称files对应html页面中input的name,一定要对应。- 后续处理文件的主体(for循环内)跟之前的一样,就是对
MultipartFile
数组通过循环遍历的方式对每个文件进行存储,然后拼接结果返回信息。
测试验证 【[测试]Sprint Boot】第一步:启动Spring Boot应用,访问
http://localhost:8080
,可以看到如下的文件上传页面。文章图片
第二步:选择2个不大于2MB的文件,点击“提交”按钮,完成上传。
如果上传成功,将显示类似下面的页面:
文章图片
你可以根据打印的文件路径去查看文件是否真的上传了。
代码示例 本文的相关例子可以查看下面仓库中的
chapter4-4
目录:- Github:https://github.com/dyc87112/SpringBoot-Learning/
- Gitee:https://gitee.com/didispace/SpringBoot-Learning/
Star
支持,您的关注是我坚持的动力!推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 女生该不该用小号测试男朋友()
- BNC公链|BNC公链 | Eth2.0测试网Topaz已质押超100万枚ETH
- 我的软件测试开发工程师书单
- spring|spring boot项目启动websocket
- Spring|Spring Boot 整合 Activiti6.0.0
- springboot使用redis缓存
- Spring|Spring Boot之ImportSelector