简单实现限制uploadify上传个数
简单实现限制uploadify上传个数
转载自:简单实现限制uploadify上传个数_jquery_脚本之家 (jb51.net)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function deleteUrl(){ $( "body" ).on( "click" , ".img-wrap .mask span" , function (event){ event.stopPropagation(); var qs=$( '#file_upload-queue>div' ); //所有的队列 var id=qs.eq(2).attr( 'id' ); //得到第三个队列的id $( '#uploadTowedAccredit' ).uploadify( 'cancel' ,id); //这样就行了,会自动重置队列数量和删除dom对象,不能直接qs.eq(2).remove(),无效 /* if(!window.confirm("您确定删除附件?")){ return; } var imgUrl=$(this).parents(".img-wrap").find("img").attr("src"); deleteImage(imgUrl); $(this).parents(".img-wrap").remove(); */ }); }; |
1
2
3
4
5
6
7
8
|
<li class= "blockli clearfix" style= "padding-bottom: 5px;" > <span class= "left-name" ><em class= "red-star" >*</em>拖机授权委托书:</span> <div class= "upload-wrap" style= "width:100px;" > <input type= "file" name= "uploadTowedAccredit" id= "uploadTowedAccredit" class= "filetext" /> </div> <span id= "uploadTowedAccreditLinkTip" class= "warn-tips" ><em></em>请上传附件,最多上传${towedAccreditPicMax} 张</span> <div id= "towedAccreditDiv" class= "up-img-list clearfix" ></div> </li> |
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
// 上传拖机授权委托书 function uploadTowedAccreditInit(){ $( "#uploadTowedAccredit" ).uploadify({ 'hideButton' : 'true' , 'preventCaching' : 'true' , 'checkExisting' : 'true' , 'swf' : SWF, 'uploader' :uploadImg, 'debug' : false , 'multi' : true , 'method' : 'post' , 'preventCaching' : true , 'removeCompleted' : true , 'removeTimeout' : 10, 'requeueErrors' : true , 'successTimeout' : 30, 'uploadLimit' : ${towedAccreditPicMax}, 'fileObjName' : 'Filedata' , //单张图片最大限制 'fileSizeLimit' : '1024KB' , 'fileTypeDesc' : 'Image Files' , //仅限上传jpg格式图片 'fileTypeExts' : '*.jpg;*.png' , 'height' : 24, 'width' :73, 'buttonText' : '上传附件' , 'auto' : true , 'buttonClass' : 'uploada btn-fff-24' , 'onSWFReady' : function () { }, 'onInit' : function (){ // $("#file_upload-button").css("width","100"); }, //选择图片完成 'onSelect' : function () { }, //取消上传 'onCancel' : function (file) { }, 'onCheck' : function (event,data,key) { }, //开始上传 'onUploadStart' : function (file) { $( '.uploadify-queue' ).html( '' ); }, //上传过程中 'onUploadProgress' : function (file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) { $( '.uploadify-queue' ).html( '' ); $( "#uploadTowedAccreditLinkTip" ).html( '<em></em>上传中...' ); }, //上传完成 'onUploadComplete' : function (file) { $( '.uploadify-queue' ).html( '' ); $( "#uploadTowedAccreditLinkTip" ).html( '<em></em>上传成功,待提交' ); }, //上传成功 'onUploadSuccess' : function (file, data, response) { var obj = eval( '(' + data + ')' ); var result=obj.result; if (result== "true" ){ var filename=obj.filename; $( '.uploadify-queue' ).html( '' ); $( '#towedAccreditDiv' ).append( "<div class='img-wrap'><img width='112' height='84' alt='' src='" +filename+ "'><div class='mask'><em></em><span></span></div></div>" ); } }, //上传失败 //附件格式不正确,请上传JPG、BMP、PNG格式文件,大小不超过3MB 'onUploadError' : function (file, errorCode, errorMsg, errorString) { switch (errorCode) { case -100: alert( "上传的文件数量已经超出系统限制的" +$( '#uploadTowedAccredit' ).uploadify( 'settings' , 'queueSizeLimit' )+ "个文件!" ); break ; case -110: alert( "文件 [" +file.name+ "] 大小超出系统限制的" +$( '#uploadTowedAccredit' ).uploadify( 'settings' , 'fileSizeLimit' )+ "大小!" ); break ; case -120: alert( "文件 [" +file.name+ "] 大小异常!" ); break ; case -130: alert( "文件 [" +file.name+ "] 类型不正确!" ); break ; } }, //上传失败 //附件格式不正确,请上传JPG、BMP、PNG格式文件,大小不超过3MB 'onSelectError' : function (file, errorCode, errorMsg) { var msgText = "上传失败\n" ; switch (errorCode) { case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: var towedAccreditDivLen = $( "#towedAccreditDiv" ).children().length; msgText += "每次最多上传 " + $( '#uploadTowedAccredit' ).uploadify( 'settings' , 'uploadLimit' ) + "个文件" ; break ; case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: msgText += "文件大小超过限制( " + $( '#uploadTowedAccredit' ).uploadify( 'settings' , 'fileSizeLimit' ) + " )" ; break ; case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: msgText += "文件大小为0" ; break ; case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: msgText += "文件格式不正确,仅限 " + $( '#uploadTowedAccredit' ).uploadify( 'settings' , 'fileTypeExts' ); break ; default : msgText += "错误代码:" + errorCode + "\n" + errorMsg; } alert(msgText); } }); //判断用户是否有安装flash var obj = $( "#uploadTowedAccredit" ).children().eq(0); if (obj.attr( 'type' )!= "application/x-shockwave-flash" ){ alert( '系统检测到您的浏览器没有安装flash插件,为了你能够正常上传图片,建议你安装flash' ); return ; } $( "#uploadTowedAccredit" ).css( "float" , "left" ); }; |
另外给大家附上jquery+uploadify多文件上传
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
|
< head > < meta http-equiv=”Content-Type” content=”text/html; charset = UTF -8″ /> < title >php jquery uploadify多文件上传</ title > < link href=”css/default.css” rel=”stylesheet” type=”text/css” /> < link href=”css/uploadify.css” rel=”stylesheet” type=”text/css” /> < script type=”text/javascript” src=”js/jquery-1.3.2.min.js”></ script > < script type=”text/javascript” src=”js/swfobject.js”></ script > < script type=”text/javascript” src=”js/jquery.uploadify.v2.1.0.min.js”></ script > < script type=”text/javascript”> $(document).ready(function() { $(“#fileInput2″).uploadify({ ‘uploader': ‘js/uploadify.swf',//所需要的flash文件 ‘cancelImg': ‘cancel.png',//单个取消上传的图片 'script': ‘js/uploadify.php',//实现上传的程序 ‘folder': ‘uploads',//服务端的上传目录 //'auto': true,//自动上传 ‘multi': true,//是否多文件上传 //'checkScript': ‘js/check.php',//验证 ,服务端的 ‘displayData': 'speed',//进度条的显示方式 //'fileDesc': ‘Image(*.jpg;*.gif;*.png)',//对话框的文件类型描述 //'fileExt': ‘*.jpg;*.jpeg;*.gif;*.png',//可上传的文件类型 //'sizeLimit': 999999 ,//限制上传文件的大小 //'simUploadLimit' :3, //并发上传数据 //'queueSizeLimit' :5, //可上传的文件个数 //'buttonText' :'文件上传',//通过文字替换钮扣上的文字 ‘buttonImg': ‘css/images/browseBtn.png',//替换上传钮扣 ‘width': 80,//buttonImg的大小 ‘height': 24,// ‘rollover': true,//button是否变换 onComplete: function (evt, queueID, fileObj, response, data) { //alert(“Successfully uploaded: “+fileObj.filePath); //alert(response); getResult(response);//获得上传的文件路径 } //onError: function(errorObj) { // alert(errorObj.info+” “+errorObj.type); //} }); }); </ script > < script type=”text/javascript”> function getResult(content){ //通过上传的图片来动态生成text来保存路径 var board = document.getElementById(“divTxt”); board.style.display=””; var newInput = document.createElement(“input”); newInput.type = “text”; newInput.size = “45″; newInput.name=”myFilePath[]“; var obj = board.appendChild(newInput); var br= document.createElement(“br”); board.appendChild(br); obj.value=content; } </ script > </ head > < body > < fieldset style=”border: 1px solid #CDCDCD; padding: 8px; padding-bottom:0px; margin: 8px 0″> < legend > < strong > 多文件上传</ strong ></ legend > < div > < input id=”fileInput2″ name=”fileInput2″ type=”file” /> < input type=”button” value=”确定上传” onclick=”javascript:$(‘#fileInput2′).uploadifyUpload();”> || < a href=”javascript:$(‘#fileInput2′).uploadifyClearQueue();”>清除上传列表</ a ></ div > < p ></ p > </ fieldset > < FORM name=”form2″ METHOD = POST ACTION=”db.php”> < div id=”divTxt” style=”display:none”>< span style=”color:red”>< strong >已经上传的图片有:</ strong ></ span & gt;<br></ div >< br > < INPUT TYPE=”submit” value=”提 交”> </ FORM > </ body > </ html > |