记一次简单的图片上传验证:

页面:<input type="file" id="hiddenFile" onchange="uploadImage(event)" accept="image/jpg, image/jpeg, image/gif, image/png">立即上传图片js:
function uploadImage(e) {//图片的提前校验,如果返回false,则代表校验不成功if(!preSubmitFileCheck(e)){console.info("验证失败,显示提示框");return;}//后面就是调用ajax,将图片传到后台的图片服务器或者文件服务器//然后ajax返回图片上传后的路径,//最后在页面渲染,供用户点击查看.
}//ie浏览器必须是图片的后缀,非ie还会校验图片大小,不能超过5兆
function preSubmitFileCheck(e){var fileTypes =["jpeg","jpg","png","gif"];if(window.navigator.userAgent.indexOf("MSIE")>=1){//ie浏览器//只看后缀是不是给定的四种,不是就不通过//ie暂时还没有获得文件大小的合适方法,欢迎前端大神在评论区补充var filePath = document.selection.createRange().text;var type = filePath.substring(filePath.lastIndexOf('.') + 1);for (var i = 0; i < fileTypes.length; i++) {if (fileTypes[i] == type) {typeFlag = true;break;}}if (!typeFlag) {alert("上传格式不符,请重新上传!");return false;}}else{//非ie浏览器var files = e.target.files, fs = files.length, s = 0;for (var i = 0; i < fs; i++) {var name = files[i].name;console.log("图片大小:size:"+files[i].size)if(files[i].size > 5*1024*1024){//对图片大小限制,大于5兆也不行sizeFlag = true;}var type = name.substring(name.lastIndexOf('.') + 1);typeFlag = false;for (var j = 0; j < fileTypes.length; j++) {if (fileTypes[j] == type) {typeFlag = true;break;}}if (!typeFlag || sizeFlag) {alert("上传格式不符,请重新上传!");}}}//到这里代表校验通过了return true;
}

[前台]---图片上传和校验相关推荐

  1. 图片上传功能(EasyUI前台框架+SSM框架)

    文件上传步骤: * 1.采用文件正确的接收方式(修改3处配置文件/接口类型等) * 2.判断是否为一个图片,0表示无异常,1代表异常(jpg|gif|png) * 3.判断是不是一个"正经& ...

  2. 若依-vue图片上传本地改OSS前台以及后台-附带oss图片上传工具类

    阿丹: 在二次开发若依的过程中发现若依的图片上传的默认的是在本地,在spring-vue版本中,如果要将平台上线那么就需要考虑这个问题,要使用fastdfs或者oss来完成代替本地的图片上传. 本篇文 ...

  3. PHPCMS V9手机移动端(支持单图和多图)图片上传,(PHPCMS V9前台使用layui的上传组件代替默认的SWFupload上传图片)

    默认phpcms的上传 图片使用的是swfupload,导致手机移动端上传图片无法使用.这里我们使用layui的上传组件来使其支持手机移动端(支持单图和多图)图片上传,效果图如下:   实现步骤: 一 ...

  4. ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)

    CKEDITOR+CKFINDER的图片上传配置(C#/asp教程.net/php教程) php keditor的代码全部重写,但里面没有了上传功能,只是一个纯粹的文件在线编辑器,如果需要上传图片,还 ...

  5. 妈蛋:kinMaxShow轮播图异常,WebUploader图片上传坑爹,图片被压缩了

    2019独角兽企业重金招聘Python工程师标准>>> 今天晚上在改造轮播图. 原来的代码是这样的: <div> <img src="${static}/ ...

  6. jsp图片上传(commons-fileupload组件)

    1.开发环境: 1)eclipse3.2+tomcat5.5: 2)创建dynamic web project: 3)下载: Commons FileUpload 可以在http://jakarta. ...

  7. 实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传

    文章目录 概述 Maven依赖 文件上传解析器bean的配置 页面 shopoperation.html增加上传组件 shopoperation.js Controller层 Github地址 概述 ...

  8. c ajax 上传图片,ajax +NodeJS 实现图片上传实例

    前台用jquery的ajax发请求,后台用NodeJS 的multer模块实现图片上传.这个demo给我的感悟是一定要自己能实现出来,而不是看了别人写好就直接"拿来"用 note( ...

  9. 使用ueditor实现多图片上传案例

    UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点.开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用.百度UEditor的推出 ...

最新文章

  1. Java笔试题之《流行的框架与新技术》
  2. keepalived程序包
  3. java面板如何设置大小_java面板调整大小问题
  4. Hystrix之外健壮微服务的新选择:Sentinel 发布首个生产版本 1
  5. 解决:设置中打开蓝牙,測试机不会自己主动搜索设备
  6. 代码Review发现问题
  7. mysql使用联合唯一索引会影响查询效率吗_想进大厂,这些Mysql索引底层知识你是必须知道的。...
  8. 一个牛人给java初学者的建议
  9. mx记录什么意思?域名mx记录怎么设置?
  10. Spring(三) 表单页面处理
  11. 电脑可以连接网络,但是无Internet访问权限问题排查
  12. python 限定数据范围_python取值范围
  13. 用 Python 做了一个小姐姐跳舞的词云视频
  14. docker redis安装使用
  15. 360 私有云平台 MySQL 自动化实现剖析
  16. SQl函数: 1.取整函数
  17. python爬楼梯问题_用Python解决经典的爬楼梯问题
  18. 至多删三个字符(动态规划字符串问题)
  19. 《中国电机工程学报》投稿分享
  20. HDLBits Bulid a circuit from a simulation wavefrom 系列

热门文章

  1. 通俗易懂的来理解Iaas,Paas,SaaS
  2. ASP.NET MVC中的路由IRouteConstraint方法应用实例
  3. 智能合约开发solidity编程语言实例
  4. 03、数据类型(02)
  5. centos 环境变量配置
  6. 第二百七十九节,MySQL数据库-pymysql模块操作数据库
  7. CD Linux U盘启动办法
  8. flex和js进行参数传递
  9. C语言中float,double类型,在内存中的结构(存储方式).
  10. 对象在内存中的存储布局