SpringBoot如何实现单文件与多文件上传功能
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关SpringBoot如何实现单文件与多文件上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.单文件上传首先创建一个Spring
千家信息网最后更新 2025年11月08日SpringBoot如何实现单文件与多文件上传功能
这篇文章将为大家详细讲解有关SpringBoot如何实现单文件与多文件上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1.单文件上传
首先创建一个Spring Boot项目,并添加spring-boot-starter-web依赖
然后创建一个upload.jsp文件,做一个简单的文件上传页面,具体代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>Title
上传接口是wjsc/upload,注意请求方法是post,enctype是multipart/form-data
然后创建上传文件接口:
@RequestMapping("/wjsc")@RestControllerpublic class UploadController { /** * 文件上传 */ @PostMapping("/upload") //MultipartFile接受前台传过来的文件 public String upload(MultipartFile uploadFile,HttpServletRequest req){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/"); //设置上传文件的保存路径为项目运行目录下的uploadFile文件夹 String realPath = req.getSession().getServletContext().getRealPath("/uploadFile/"); //获取当前日期对所上传的文件进行归类保存 String format = sdf.format(new Date()); File folder = new File(realPath+format); if (!folder.isDirectory()){//判断是否为目录 folder.mkdirs();//不是目录就创建目录 } //给上传的文件重命名 String oldName = uploadFile.getOriginalFilename();//获取文件名称 String newName = UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."),oldName.length());//设置新文件名 try{ //文件保存操作 uploadFile.transferTo(new File(folder,newName)); //生成文件访问路径 String filePath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+"/uploadFile/"+format+newName; return filePath; }catch (Exception e){ e.printStackTrace(); } return "上传失败"; }}注意:MultipartFile变量名命名要与jsp中上传文件的name一致,不然会接收不到文件
最后测试:
运行项目,在浏览器中访问upload.jsp页面进行文件上传

上传成功后会返回文件访问路径,用这个路径就可以访问到刚刚上传的图片

项目中也可以看到刚刚上传的图片成功了
至此,一个简单的单文件上传就完成了.
2.多文件上传
多文件上传和单文件上传基本一致,首先修改jsp文件,代码如下:
<
%@ page contentType="text/html;charset=UTF-8" language="java" %>Title
然后修改上传文件接口:
/** * 多文件上传 */ @PostMapping("/uploads") public String uploads(MultipartFile[] uploadFiles,HttpServletRequest req) { //遍历uploadFiles数组分别储存 }控制器里边的核心逻辑和单文件上传是一样的,只是多一个遍历的步骤。
关于"SpringBoot如何实现单文件与多文件上传功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
目录
路径
项目
接口
篇文章
功能
一致
成功
代码
图片
更多
页面
运行
不错
实用
内容
前台
变量
只是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全手抄报小学生 一等奖
网络技术开发会计分录有哪些
保证内部网络安全边界
山东爱高网络技术有限公司
金昌市网络安全支队
数据库安全策略粒度
服务器管理有必要吗
otis电梯服务器tt
数据库方面的基础
2019网络安全活动方案
没学历能从事软件开发工作吗
广州约车软件开发
数据库恢复技术是
江苏通用软件开发代理价钱
地球末日生存加载服务器失败
宿迁idc服务器哪个厂家质量好
如何看待网络技术的快速发展
金铲铲登录说服务器已满
电力网络安全十不准
系统后台数据库类型
上海学校卫星授时服务器
长宁区专业性网络技术代理价格
如何将app上的数据库导出
服务器免费3个月
将数据库至于回避恢复模式
数据库起始时间怎么查询
杭州app软件开发哪家有实力
以数据为中心的网络安全保障体系
梦幻互通服务器
squid代理服务器域名解析