jquery 图片上传本地预览V1.2

基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari

代码进行小小的压缩 如果看源码 自己解压就行了

版本已升级  修复jquery版本问题  支持任意jquery版本

代码在线演示地址:http://jquery.decadework.com/

插件下载地址:http://jquery.decadework.com/plugin/uploadPreview.zip
 
标签: <无>
 

代码片段(3)[全屏查看所有代码]

1. [代码]uploadPreview.min.js     

?
1
2
3
4
5
6
7
8
/*
*作者:周祥
*时间:2014年08月19日
*介绍:图片上传预览插件 兼容浏览器(IE 谷歌 火狐) 不支持safari
*网站:http://jquery.decadework.com
*版本:1.2
*/
eval(function (p, a, c, k, e, d) { e = function (c) { return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (! '' .replace(/^/, String)) { while (c--) d[e(c)] = k[c] || e(c); k = [function (e) { return d[e] } ]; e = function () { return '\\w+' }; c = 1; }; while (c--) if (k[c]) p = p.replace( new RegExp( '\\b' + e(c) + '\\b' , 'g' ), k[c]); return p; } ( 'A.T.B({N:g(2){9 6=3,y=$(3);2=A.B({f:"M",D:E,C:E,k:["L","Q","P","S","R"],w:g(){}},2||{});6.n=g(a){9 8=W;5(4.d!=l){8=4.d(a)}h 5(4.t!=l){8=4.t.d(a)}h 5(4.r!=l){8=4.r.d(a)}v 8};y.V(g(){5(3.j){5(!U("\\.("+2.k.x("|")+")$","i").O(3.j.J())){I("H,K"+2.k.x(",")+"X");3.j="";v 1g}5(1h.1i.1d("1e")>-1){1f{$("#"+2.f).u(\'7\',6.n(3.z[0]))}1n(e){9 7="";9 b=$("#"+2.f);9 c=b.o("c")[0];6.1m();5(1l!=1k){4.o.m.1j.1c()}h{6.12()}7=m.G.13().14;m.G.11();b.Y();b.o("c").Z({\'10\':\'19:s.p.q(1a=1b)\',\'18\':2.D+\'F\',\'15\':2.C+\'F\'});c.16.17("s.p.q").7=7}}h{$("#"+2.f).u(\'7\',6.n(3.z[0]))}2.w()}})}});' , 62, 86, '||opts|this|window|if|_0|src|url|var|file|obj|div|createObjectURL||Img|function|else||value|ImgType|undefined|document|getObjectURL|parent|Microsoft|AlphaImageLoader|webkitURL|DXImageTransform|URL|attr|return|Callback|join|_1|files|jQuery|extend|Height|Width|100|px|selection|选择文件错误|alert|toLowerCase|图片类型必须是|gif|ImgPr|uploadPreview|test|jpg|jpeg|png|bmp|fn|RegExp|change|null|中的一种|hide|css|filter|empty|blur|createRange|text|height|filters|item|width|progid|sizingMethod|scale|focus|indexOf|MSIE|try|false|navigator|userAgent|body|self|top|select|catch' .split( '|' ), 0, {}))

2. [代码]uploadPreview.js     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
*作者:周祥
*时间:2014年08月19日
*介绍:图片上传预览插件 兼容浏览器(IE 谷歌 火狐) 不支持safari 当然如果是使用这些内核的浏览器都兼容
*网站:http://jquery.decadework.com http://www.oschina.net/code/snippet_1049351_26784
*QQ:200592114
*版本:1.2
*参数说明: Img:图片ID;Width:预览宽度;Height:预览高度;ImgType:支持文件类型;Callback:选择文件后回调方法;
*插件说明: 基于JQUERY扩展,需要引用JQUERY库。
*使用方法:  <div>
<img id="ImgPr" width="120" height="120" /></div>
<input type="file" id="up" />
  
把需要进行预览的IMG标签外 套一个DIV 然后给上传控件ID给予uploadPreview事件
  
$("#up").uploadPreview({ Img: "ImgPr", Width: 120, Height: 120, ImgType: ["gif", "jpeg", "jpg", "bmp", "png"], Callback: function () { }});  
  
另外注意一下 使用该插件预览图片 选择文件的按钮在IE下不能是隐藏的 你可以换种方式隐藏 比如:top left 负几千像素
  
v1.2:更新jquery1.9以上版本 插件报错BUG
*/
jQuery.fn.extend({
     uploadPreview: function (opts) {
         var _self = this , _this = $( this );
         opts = jQuery.extend({
             Img: "ImgPr" ,
             Width: 100,
             Height: 100,
             ImgType: [ "gif" , "jpeg" , "jpg" , "bmp" , "png" ],
             Callback: function () { }
         }, opts || {});
         _self.getObjectURL = function (file) {
             var url = null ;
             if (window.createObjectURL != undefined) {
                 url = window.createObjectURL(file);
             } else if (window.URL != undefined) {
                 url = window.URL.createObjectURL(file);
             } else if (window.webkitURL != undefined) {
                 url = window.webkitURL.createObjectURL(file);
             }
             return url;
         }
         _this.change(function () {
             if ( this .value) {
                 if (!RegExp( "\.(" + opts.ImgType. join ( "|" ) + ")$" , "i" ).test( this .value.toLowerCase())) {
                     alert( "选择文件错误,图片类型必须是" + opts.ImgType. join ( "," ) + "中的一种" );
                     this .value = "" ;
                     return false ;
                 }
                 if (navigator.userAgent.indexOf( "MSIE" ) > -1) {
                     try {
                         $( "#" + opts.Img).attr( 'src' , _self.getObjectURL( this .files[0]));
                     } catch (e) {
                         var src = "" ;
                         var obj = $( "#" + opts.Img);
                         var div = obj.parent( "div" )[0];
                         _self. select ();
                         if (top != self) {
                             window.parent.document.body.focus();
                         } else {
                             _self.blur();
                         }
                         src = document.selection.createRange().text;
                         document.selection.empty();
                         obj.hide();
                         obj.parent( "div" ).css({
                             'filter' : 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)' ,
                             'width' : opts.Width + 'px' ,
                             'height' : opts.Height + 'px'
                         });
                         div.filters.item( "DXImageTransform.Microsoft.AlphaImageLoader" ).src = src;
                     }
                 } else {
                     $( "#" + opts.Img).attr( 'src' , _self.getObjectURL( this .files[0]));
                 }
                 opts.Callback();
             }
         });
     }
});

3. [代码]demo.html     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
     <title>图片上传预览插件 v1.2</title>
     <meta http-equiv= "X-UA-Compatible" content= "IE=7" />
     <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
     <meta name= "keywords" content= "Jquery图片上传预览插件" />
     <link href= "http://jquery.decadework.com/css/decadework.css" rel= "stylesheet" type= "text/css" />
     <script src= "http://jquery.decadework.com/js/jquery-1.9.1.min.js" type= "text/javascript" ></script>
     <script src= "uploadPreview.min.js" type= "text/javascript" ></script>
     <script>
         $(function () {
             $( "#up" ).uploadPreview({ Img: "ImgPr" , Width: 120, Height: 120 });
         });
     </script>
</head>
<body>
     <div id= "header" >
         <h1 class = "title" >
             <strong>图片上传预览插件 v1.2</strong></h1>
         <div id= "main" >
             <div class = "card" id= "up_img" >
                
                 <div class = "summary" >
                     <ul>
                         <li><span style= "color: Green" >插件演示:</span>
                             <div style= " width:120px; height:120px;" >
                                 <img id= "ImgPr" width= "120" height= "120" style= "display: inherit;" /></div>
                             <input type= "file" id= "up" />
                         </li>
                     </ul>
                 </div>
             </div>
         </div>
         <div id= "footer" >
             <p class = "time" >
                 jquery</p>
             <p class = "copyright" >
                 &copy; 2014 pan.decadework.com</p>
         </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
周祥文件管理插件 1.4 更新内容: 1.修复了 删除 添加文件夹后 部分用户报错问题. 2.修复了 下载文件时 中文解码问题. 3.更新了插件功能,增加了文件重命名功能 点击文件 然后点击修改按钮 即可重命名. (注:重命名 可以更改扩展名 例如:login.txt更改时在文本框中输入 login.png 即可把扩展名改掉 如果不想更改扩展名 就输入 log.txt 即可) 4.更新了config.xml功能 添加了重命名功能关闭显示功能. 5.修复了session过时后 顶层无法操作的问题. 6.增加了多用户操作元素 可以让不同用户 进行不同的权限操作(具体实现方法 见File.xml文件). 7.修复了切换文件夹时 下载报错问题. 8.修复了剪切文件夹时 部分用户粘贴报错问题. 功能介绍: 文件剪切,复制,粘贴,删除皆可进行多个操作 可以新建文件夹 可以指定网站默认显示的文件夹 可以删除文件夹及文件夹下所有文件 支持IE6,7,8等N个浏览器 支持多文件无刷新上传 支持单文件下载 文件流输出 文件属性 可以在文件上停留几秒 就会看到 可以自定义添加文件图片 可以以文件夹方式多个操作管理 不必一个一个的操作 支持上一步  可以让你回到过去 个性化的windows操作界面 让您与众不同 可以自定义文件之间的间距 可以设置文件每行显示个数 (index.aspx用记事本打开,不懂.NET的勿改) 可以动态设置访问验证 让没有登录的用户 无法操作 并跳转到登录页面 支持功能限制,对不方便开放的功能 可以禁止掉 支持上传插件 全局调用 功能解析: Files/images/gif 这个文件夹可以上传 你需要显示的文件图片 例如:你的文件扩展名为 .html 那么 你就可以上传一个 html.gif 的图片放到这个文件夹里  图片只能为gif格式 Files/File.xml 该XML文件 可以更改你需要显示根目录的文件夹 默认显示:music  myfile  photos 操作说明: 操作权限:默认目录 不可操作 上传:点击上传支持多个文件上传 下载:单击一个文件后 点击下载即可该下载 可以不必去管单击的颜色 只要单击文件后 马上点击下载即可 文件夹及文件操作:点击文件夹按钮 切换到文件夹 然后选中 您就可以剪切 或者 复制 之后 切换回来  再找到你需要粘贴的文件夹 就可以了 图片问题:文件没有图片的  大家可以自行添加 如何添加 见上 删除:可以进行多个文件同时删除 切换到文件夹 也可以删除多个文件夹 File.xml文件里可以启用 访问验证功能 注:凡是文件名带蓝色的 皆为选中  状态 请谨慎操作  除了下载 其余都是多文件操作  谨慎操作啊 别把网站给删了 访问地址:http://您的地址/admin/Files/index.aspx BUG反馈: 请联系QQ:200592114 请保存好 错误信息 和错误页面文件 及错误URL地址  意见反馈: [email protected]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值