简单实现限制uploadify上传个数

前端技术 2023/09/06 JavaScript

简单实现限制uploadify上传个数

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();
    */
  });
};

<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>
// 上传拖机授权委托书
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多文件上传

<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\': ‘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>

本文地址:https://www.stayed.cn/item/17070

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。