SpringBoot如何实现单文件与多文件上传功能
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章将为大家详细讲解有关SpringBoot如何实现单文件与多文件上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.单文件上传首先创建一个Spring
千家信息网最后更新 2024年11月30日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安全错误
数据库的锁怎样保障安全
物流运输外文文献数据库
用于销售的软件开发费用怎么入账
淘宝的商品数据库表设计
服务器集群管理软件有哪些
服务器机箱装什么系统
数据库安全补丁发布计划
音频软件开发原理
数据库减法是哪个单词
服务器能给电脑运算吗
什么是腾讯的后台服务器
工程审批管控软件开发平台
离线免费服务器
宿迁新品联想服务器安装
网络安全推销
软件开发行业有什么优惠政策
数据库程序设计基础ppt
未来网络技术发展调查报告
石家庄机器人rpa软件开发
福州市网络安全管理
网络连接服务器发生错误怎么办
格力总部软件开发怎样
恩施网络安全宣传答题
软件开发设计学习方向
数据库备份软件厂家
数据库安全补丁发布计划
数据库系统设计文档的目的
洪恩识字什么软件开发
数据库元素6
网络安全员隐私心态
网络安全与执法分数