如何实现Maven项目web多图片上传及格式验证
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,小编给大家分享一下如何实现Maven项目web多图片上传及格式验证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先来展示一
千家信息网最后更新 2024年10月21日如何实现Maven项目web多图片上传及格式验证
小编给大家分享一下如何实现Maven项目web多图片上传及格式验证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
先来展示一下效果
客户在添加的时候进入添加页面,需要上传文件时的相关页面及代码
注:前端页面重要代码,multiple的作用是支持多图片上传,此处点击事件一定要使用onchange事件,切记不要误用onclick事件!!
注:
以下为前端页面对应的onchange事件的代码及解析
//jQuery函数 对应上面的onchange事件 function uploadFile() { //由于该JSP页面只有一个表单,因此只需要定义下标为0即可指定当前表单 let formData = new FormData($("form")[0]); //关键代码:ajax异步上传图片 $.ajax({ url: "uploadFile",//此处对应controller控制层中RequestMapping注解中的值 data: formData,//需要上传的表单数据 type: "post",//此处要用post方式上传,原因是get方式对上传文件大小有限制 //processData 默认为true,当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data processData: false, //ajax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件。 contentType: false, success: function (msg) { //判断校验上传文件的格式是否为常用图片类型\ let str = ""; let split = msg.split(",");//用逗号切割 为数组 let flag = false; for (let i = 0; i < split.length; i++) { if (split[i].endsWith(".jpg") || split[i].endsWith(".png") || split[i].endsWith(".bmp") || split[i].endsWith(".jpeg") || split[i].endsWith(".gif")) { flag = true; } else { //一旦不满足上面的条件,就将旗帜flag设置为false,并打破循环 flag = false; break; } //循环遍历数组拼接字符串,src中需要添加虚拟路径 str += ''; } if (flag) { $("[name=img]").val(msg) $("#sp1").html(str) } else { alert("上传图片格式错误!!") $("[name=img]").val("")//清空之前的代码,后台JSR303自动校验不能为空 } } }) }
接下来看一下后台controller层的图片上传代码及解析
//@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。//@RequestParam:将请求参数绑定到后台控制器的方法参数上(是springmvc中接收普通参数的注解)(以此确保和前端页面name属性中的值一致) @RequestMapping("uploadFile") @ResponseBody //加上 @ResponseBody 后,会直接返回 json 数据。 public String uploadFile(@RequestParam("file") MultipartFile[] files) throws IOException { //要存放图片的本机地址 String path = "D://img"; String[] fileNames = new String[files.length]; String imgs = ""; for (int i = 0; i < fileNames.length; i++) { //UUID用于随机生成不重复的文件名 // getOriginalFilename()该方法用于获取前台上传文件的名称,和UUID做此处理确保上传的文件名唯一 fileNames[i] = UUID.randomUUID().toString() + files[i].getOriginalFilename(); File file = new File(path, fileNames[i]); files[i].transferTo(file);//把文件路径所指向的文件上传到对应的目录下。 imgs += "," + fileNames[i]; } //截取imgs头部多出来的逗号 imgs = imgs.substring(1); return imgs; }
以上是"如何实现Maven项目web多图片上传及格式验证"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
图片
代码
页面
事件
格式
前端
参数
后台
方法
时候
注解
篇文章
表单
循环
项目
验证
作用
内容
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嵌入式 流媒体 服务器
松下 软件开发 工资
软件开发需求说明书例子
开展网络安全等级保护工作
数据库三级考的是原题吗
软件开发公司培训内容有哪些
深圳摩斯网络技术有限公司
网络安全宣传周电子屏
单机版进销存 数据库在哪
ado获取数据库的值
从事计算机软件开发
VR资源用什么软件开发
浙江信息网络技术诚信为本
校园网络安全知识班会
梦之地服务器下载
数据库操作界面
辛集互联网科技大厦
房地产企业的网络技术部
客服端已经从游戏服务器连接断开
青海服务器外壳加工虚拟主机
服务器无法访问
千锋网络安全2019百度云
简述中国数据库的发展史
未来数据库关键词
软件开发需求文档范例6
u8从哪看数据库字典
海康服务器带外管理口ip
成都菜鸟网络技术怎么样
网络安全大家谈快板内容
软件开发人员工时费多少钱