首頁 > web前端 > js教程 > js中實作限制uploadify的上傳個數

js中實作限制uploadify的上傳個數

不言
發布: 2018-06-25 14:26:40
原創
1919 人瀏覽過

本文要跟大家分享的是使用uploadify上傳檔案或圖片的時候,如何做到限制上傳個數的方法,十分的簡單方便實用,有需要的小夥伴可以參考下。

簡單實作限制uploadify上傳個數字

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>p');//所有的队列

    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>

  <p class="upload-wrap" style="width:100px;">

    <input type="file" name="uploadTowedAccredit" id="uploadTowedAccredit" class="filetext"/>

  </p>

  <span id="uploadTowedAccreditLinkTip" class="warn-tips"><em></em>请上传附件,最多上传${towedAccreditPicMax} 张</span>

  <p id="towedAccreditp" class="up-img-list clearfix"></p>

</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({

    &#39;hideButton&#39;:&#39;true&#39;,

    &#39;preventCaching&#39; : &#39;true&#39;,

    &#39;checkExisting&#39;:&#39;true&#39;,

    &#39;swf&#39;: SWF,

    &#39;uploader&#39;:uploadImg,

    &#39;debug&#39;:false,

    &#39;multi&#39;: true,

    &#39;method&#39;: &#39;post&#39;,

    &#39;preventCaching&#39; : true,

    &#39;removeCompleted&#39; : true,

    &#39;removeTimeout&#39; : 10,

    &#39;requeueErrors&#39; : true,

    &#39;successTimeout&#39; : 30,

    &#39;uploadLimit&#39; : ${towedAccreditPicMax},

      

    &#39;fileObjName&#39; : &#39;Filedata&#39;,

    //单张图片最大限制

    &#39;fileSizeLimit&#39; : &#39;1024KB&#39;,

    &#39;fileTypeDesc&#39; : &#39;Image Files&#39;,

    //仅限上传jpg格式图片

    &#39;fileTypeExts&#39; : &#39;*.jpg;*.png&#39;,

    &#39;height&#39;: 24,

    &#39;width&#39;:73,

    &#39;buttonText&#39; : &#39;上传附件&#39;,

    &#39;auto&#39;: true,

    &#39;buttonClass&#39;:&#39;uploada btn-fff-24&#39;,

    

    &#39;onSWFReady&#39; : function() {

    },

      

    &#39;onInit&#39;:function(){

      // $("#file_upload-button").css("width","100");

     },

          

    //选择图片完成

    &#39;onSelect&#39; : function() {

  

    },

      

    //取消上传

    &#39;onCancel&#39; : function(file) {

    },

    &#39;onCheck&#39;: function(event,data,key) {

    },

    //开始上传

    &#39;onUploadStart&#39; : function(file) {

      $(&#39;.uploadify-queue&#39;).html(&#39;&#39;);

    },

      

    //上传过程中

    &#39;onUploadProgress&#39; : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {

      $(&#39;.uploadify-queue&#39;).html(&#39;&#39;);

      $("#uploadTowedAccreditLinkTip").html(&#39;<em></em>上传中...&#39;);

    },

      

    //上传完成

    &#39;onUploadComplete&#39; : function(file) {

        $(&#39;.uploadify-queue&#39;).html(&#39;&#39;);

        $("#uploadTowedAccreditLinkTip").html(&#39;<em></em>上传成功,待提交&#39;);

    },

      

    //上传成功

    &#39;onUploadSuccess&#39; : function(file, data, response) {

      var obj = eval(&#39;(&#39; + data + &#39;)&#39;);

        var result=obj.result;

        if(result=="true"){

          var filename=obj.filename;

          $(&#39;.uploadify-queue&#39;).html(&#39;&#39;);

          $(&#39;#towedAccreditp&#39;).append("<p class=&#39;img-wrap&#39;><img width=&#39;112&#39; height=&#39;84&#39; alt=&#39;&#39; src=&#39;"+filename+"&#39;><p class=&#39;mask&#39;><em></em><span></span></p></p>");

        }

    },

      

    //上传失败 //附件格式不正确,请上传JPG、BMP、PNG格式文件,大小不超过3MB

    &#39;onUploadError&#39; : function(file, errorCode, errorMsg, errorString) {

      switch(errorCode) {

        case -100:

          alert("上传的文件数量已经超出系统限制的"+$(&#39;#uploadTowedAccredit&#39;).uploadify(&#39;settings&#39;,&#39;queueSizeLimit&#39;)+"个文件!");

          break;

        case -110:

          alert("文件 ["+file.name+"] 大小超出系统限制的"+$(&#39;#uploadTowedAccredit&#39;).uploadify(&#39;settings&#39;,&#39;fileSizeLimit&#39;)+"大小!");

          break;

        case -120:

          alert("文件 ["+file.name+"] 大小异常!");

          break;

        case -130:

          alert("文件 ["+file.name+"] 类型不正确!");

          break;

      }

    },

    //上传失败 //附件格式不正确,请上传JPG、BMP、PNG格式文件,大小不超过3MB

    &#39;onSelectError&#39; : function(file, errorCode, errorMsg) {

      var msgText = "上传失败\n";

      switch (errorCode) {

        case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:

          var towedAccreditpLen = $("#towedAccreditp").children().length;

          msgText += "每次最多上传 " + $(&#39;#uploadTowedAccredit&#39;).uploadify(&#39;settings&#39;,&#39;uploadLimit&#39;) + "个文件";

          break;

        case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:

          msgText += "文件大小超过限制( " + $(&#39;#uploadTowedAccredit&#39;).uploadify(&#39;settings&#39;,&#39;fileSizeLimit&#39;) + " )";

          break;

        case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:

          msgText += "文件大小为0";

          break;

        case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:

          msgText += "文件格式不正确,仅限 " + $(&#39;#uploadTowedAccredit&#39;).uploadify(&#39;settings&#39;,&#39;fileTypeExts&#39;);

          break;

        default:

          msgText += "错误代码:" + errorCode + "\n" + errorMsg;

      }

      alert(msgText);

    }

  });

    

  //判断用户是否有安装flash

 var obj = $("#uploadTowedAccredit").children().eq(0);

 if(obj.attr(&#39;type&#39;)!= "application/x-shockwave-flash"){

    alert(&#39;系统检测到您的浏览器没有安装flash插件,为了你能够正常上传图片,建议你安装flash&#39;);

    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

<html xmlns=”http://www.w3.org/1999/xhtml”>

<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&#39;: ‘js/uploadify.swf&#39;,//所需要的flash文件

‘cancelImg&#39;: ‘cancel.png&#39;,//单个取消上传的图片

&#39;script&#39;: ‘js/uploadify.php&#39;,//实现上传的程序

‘folder&#39;: ‘uploads&#39;,//服务端的上传目录

//&#39;auto&#39;: true,//自动上传

‘multi&#39;: true,//是否多文件上传

//&#39;checkScript&#39;: ‘js/check.php&#39;,//验证 ,服务端的

‘displayData&#39;: &#39;speed&#39;,//进度条的显示方式

//&#39;fileDesc&#39;: ‘Image(*.jpg;*.gif;*.png)&#39;,//对话框的文件类型描述

//&#39;fileExt&#39;: ‘*.jpg;*.jpeg;*.gif;*.png&#39;,//可上传的文件类型

//&#39;sizeLimit&#39;: 999999 ,//限制上传文件的大小

//&#39;simUploadLimit&#39; :3, //并发上传数据

//&#39;queueSizeLimit&#39; :5, //可上传的文件个数

//&#39;buttonText&#39; :&#39;文件上传&#39;,//通过文字替换钮扣上的文字

‘buttonImg&#39;: ‘css/images/browseBtn.png&#39;,//替换上传钮扣

‘width&#39;: 80,//buttonImg的大小

‘height&#39;: 24,//

‘rollover&#39;: 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(“pTxt”);

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>

<p>

<input id=”fileInput2″ name=”fileInput2″ type=”file” />

<input type=”button” value=”确定上传” onclick=”javascript:$(‘#fileInput2′).uploadifyUpload();”> 

||  <a href=”javascript:$(‘#fileInput2′).uploadifyClearQueue();”>清除上传列表</a></p>

<p></p>

</fieldset>

<FORM name=”form2″ METHOD=POST ACTION=”db.php”>

 <p id=”pTxt” style=”display:none”><span style=”color:red”><strong>已经上传的图片有:</strong></span& gt;<br></p><br>

<INPUT TYPE=”submit” value=”提 交”>

</FORM>

</body>

</html>

登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

jQuery檔案上傳控制項Uploadify的解析

在ReactNative中有關FlatList的使用方法

#

以上是js中實作限制uploadify的上傳個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板