jquery 实现上传图片的预览

简介:

今天给大家展示一个input file上传图片的预览,先看看代码

 
  1. function getFullPath(obj) {    //得到图片的完整路径  
  2.     if (obj) {  
  3.         //ie  
  4.         if (window.navigator.userAgent.indexOf("MSIE") >= 1) {  
  5.             obj.select();  
  6.             return document.selection.createRange().text;  
  7.         }  
  8.         //firefox  
  9.         else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {  
  10.             if (obj.files) {  
  11.                 return obj.files.item(0).getAsDataURL();  
  12.             }  
  13.             return obj.value;  
  14.         }  
  15.         return obj.value;  
  16.     }  

这段代码是获取客户端图片的完整路径

我们再限制其大小和格式

 
  1. $("#loadFile").change(function () {  
  2.         var strSrc = $("#loadFile").val();  
  3.         img = new Image();  
  4.         img.src = getFullPath(strSrc);  
  5.         //验证上传文件格式是否正确  
  6.         var pos = strSrc.lastIndexOf(".");  
  7.         var lastname = strSrc.substring(pos, strSrc.length)  
  8.         if (lastname.toLowerCase() != ".jpg") {  
  9.             alert("您上传的文件类型为" + lastname + ",图片必须为 JPG 类型");  
  10.             return false;  
  11.         }  
  12.         //验证上传文件宽高比例  
  13.  
  14.         if (img.height / img.width > 1.5 || img.height / img.width < 1.25) {  
  15.             alert("您上传的图片比例超出范围,宽高比应介于1.25-1.5");  
  16.             return;  
  17.         }  
  18.         //验证上传文件是否超出了大小  
  19.         if (img.fileSize / 1024 > 150) {  
  20.             alert("您上传的文件大小超出了150K限制!");  
  21.             return false;  
  22.         } 

其中呢,这个loadFile是html input file的id。在它的change事件,也就是选择了要上传的文件以后,让图片显示在图片框里吗,在上面代码的最后加上以下代码

 
  1. $("#stuPic").attr("src", getFullPath(this)); 

看看效果



本文转自 BruceAndLee 51CTO博客,原文链接:http://blog.51cto.com/leelei/409675,如需转载请自行联系原作者


相关文章
|
4月前
|
JavaScript
vue.js+ jquery上传图片并回显
vue.js+ jquery上传图片并回显
|
3月前
|
JavaScript
jQuery图片延迟加载插件jQuery.lazyload
jQuery图片延迟加载插件jQuery.lazyload
|
3月前
|
JavaScript 前端开发
jquery酷炫的马赛克图片还原动画代码
jquery酷炫的马赛克图片还原动画代码,jquery马赛克图片动画,js酷炫图片代码,马赛克图片js还原效果,js图片分散汇聚效果素材
41 1
|
7月前
|
JavaScript
jQuery lazyload.js 懒加载可视范围图片
jQuery lazyload.js 懒加载可视范围图片
40 0
|
5月前
|
JavaScript 前端开发
jQuery点击图片来回切换功能
jQuery点击图片来回切换功能
64 0
jQuery点击图片来回切换功能
|
5月前
|
JavaScript 数据库
jQuery点击图片开启,再次点击图片关闭效果
jQuery点击图片开启,再次点击图片关闭效果
19 0
|
5月前
|
JavaScript 前端开发 数据处理
jQuery数据结构渲染(1):图片数组的渲染
jQuery数据结构渲染(1):图片数组的渲染
38 1
|
5月前
|
JavaScript
jQuery动态拼接多张图片并且获取每张图片名称
jQuery动态拼接多张图片并且获取每张图片名称
26 1
|
5月前
|
JavaScript 前端开发
jQuery鼠标悬停的时候图片替换
jQuery鼠标悬停的时候图片替换
21 0