SpringBoot如何实现单文件与多文件上传功能
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章将为大家详细讲解有关SpringBoot如何实现单文件与多文件上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.单文件上传首先创建一个Spring
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
哪个软件开发平台最好
服务器怎么建立一个新用户
西十区大数据库
自学软件开发设计可行吗
宁波万千星网络技术
数据库电影票项目建表
sql服务器下载
步联服务器定时重启工具
兰州新区软件开发招聘
大学所用数据库
河南工业软件开发收费
网络技术中级工程师
云南零猫科技互联网有限公司
服务器怎么加载光卡驱动
长沙中兴软件开发压力大不大
初中毕业学什么软件开发
晶体生长过程数据服务器软件开发
蓝鲸数据库设计
excel表分组显示数据库
计算机网络技术基础填空题
高级数据库论文
甘肃数据库安全防护系统
天津视频会议服务器云主机
小度我的世界服务器介绍
软件开发业务员专业话术
福建省中专网络安全专业
广东实验七实验数据库
湖北好的软件开发经验丰富
服务器mod和客户端有什么区别
服务器的数据库没启动