System.out.println("file文件真实路径:" + fileServer.getAbsolutePath());
//2,实现上传
uploadFile.transferTo(fileServer);
String filePath = request.getScheme() + "://" +
request.getServerName() + ":"
+ request.getServerPort()
+ "/uploadFile/" + filename;
//3,返回可供访问的网络路径
return filePath;
} catch (IOException e) {
e.printStackTrace();
}
return "上传失败";
}
//多个文件的上传
@PostMapping("/uploads")
public String uploads(MultipartFile\[\] uploadFiles, HttpServletRequest request) {
//1,对文件数组做判空操作
if (uploadFiles == null || uploadFiles.length < 1) {
return "文件不能为空";
}
//2,定义文件的存储路径,
String realPath = request.getSession().getServletContext().getRealPath("/uploadFile/");
File dir = new File(realPath);
if (!dir.isDirectory()) {//文件目录不存在,就创建一个
dir.mkdirs();
}
try {
String filePathS = "";
//3,遍历文件数组,一个个上传
for (int i = 0; i < uploadFiles.length; i++) {
MultipartFile uploadFile = uploadFiles\[i\];
String filename = uploadFile.getOriginalFilename();
//服务端保存的文件对象
File fileServer = new File(dir, filename);
System.out.println("file文件真实路径:" + fileServer.getAbsolutePath());
//2,实现上传
uploadFile.transferTo(fileServer);
String filePath = request.getScheme() + "://" +
request.getServerName() + ":"
+ request.getServerPort()
+ "/uploadFile/" + filename;
filePathS = filePathS + "\\n" + filePath;
}
//4,返回可供访问的网络路径
return filePathS;
} catch (IOException e) {
e.printStackTrace();
}
return "上传失败";
}
}
到这里我们多文件上传的代码就全部实现了。
三,启动项目(三种方式~推荐第一种)
==================
1,点击绿色箭头(最简便,提倡)
![](https://img-blog.csdnimg.cn/img_convert/de66ab4550983804b3fcffc01e88d464.jpeg)
2,点击main方法前的绿色箭头
![](https://img-blog.csdnimg.cn/img_convert/4e4c6e0d19f6475af248d264dbf7ad6e.jpeg)
3,命令行输入 mvn spring-boot:run
![](https://img-blog.csdnimg.cn/img_convert/d1e6675dbaf8d2ef93523f7bdd7d40f8.jpeg)
四,验证
====
1,输入下图的链接,进入文件选择页
![](https://img-blog.csdnimg.cn/img_convert/eedf1c4754030843d0bd1de16552448c.jpeg)
2,选择多个文件,我们这里选择3个图片,一个视频
![](https://img-blog.csdnimg.cn/img_convert/ea14ecd18670e2bfd77da6951bc4f8e2.jpeg)
![](https://img-blog.csdnimg.cn/img_convert/d55e79615ecc9bee1a90475a71d50891.jpeg)
3,点击上传,然后上传成功如下图
![](https://img-blog.csdnimg.cn/img_convert/bacf6c3e8893cfac360bfe4b4c690dd2.jpeg)
4,查看图片,可以通过上图的链接查看已经传到后台的图片
![](https://img-blog.csdnimg.cn/img_convert/5a72835c56c100a8fa8d46d58b630cb7.jpeg)
5,查看视频(这样就可以在线查看已经上传到服务器的视频了)
![](https://img-blog.csdnimg.cn/img_convert/81f3694f038c9f37dd8f31fa7c7d940e.jpeg)
到这里,我们多个文件的上传也成功的实现了。
=====================
视频讲解地址:[https://edu.csdn.net/course/detail/23443]( )
源码地址:[https://github.com/qiushi123/springboot-demos]( )
往期回顾
[java入门001--IntelliJ IDEA 配置阿里云Maven国内仓库(含idea下载及破解教程)]( )
[java入门002~jdk8 window版32位 64位 Mac版64位安装包]( )
[java入门003~手把手教你开发自己的第一个java项目(基于springboot2.1.5)]( )
[java入门004~五分钟教你用java开发一个小程序后台服务器~看完你也会]( )
[java入门005~springboot实现单个文件上传(图片 文档 视频 音频都可以上传)]( )
# **读者福利**
分享一份自己整理好的Java面试手册,还有一些面试题pdf
**不要停下自己学习的脚步**
![字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么](https://img-blog.csdnimg.cn/img_convert/d70fba1efcd44f84c57658aae0e0a810.webp?x-oss-process=image/format,png)
![字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么](https://img-blog.csdnimg.cn/img_convert/03900efb4f03ccef2fd95c9223b358d1.webp?x-oss-process=image/format,png)
)
[java入门005~springboot实现单个文件上传(图片 文档 视频 音频都可以上传)]( )
# **读者福利**
分享一份自己整理好的Java面试手册,还有一些面试题pdf
**不要停下自己学习的脚步**
[外链图片转存中...(img-NCVp72SI-1714340979445)]
[外链图片转存中...(img-WEvLeI3W-1714340979446)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**