찾다
웹 프론트엔드JS 튜토리얼js에서 uploadify 업로드 수 제한 구현

이 글에서는 Uploadify를 사용하여 파일이나 이미지를 업로드할 때 업로드 수를 제한하는 방법을 알려드리겠습니다. 매우 간단하고 편리하며 실용적입니다.

업로드 업로드 횟수를 제한하는 간단한 구현

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

<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>

// 上传拖机授权委托书
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 다중 파일 업로드가 첨부되어 있습니다

<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>

The 이상이 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요!

관련 권장 사항:

jQuery 파일 업로드 제어 업로드 분석

ReactNative에서 FlatList를 사용하는 방법

위 내용은 js에서 uploadify 업로드 수 제한 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python vs. JavaScript : 학습 곡선 및 사용 편의성Python vs. JavaScript : 학습 곡선 및 사용 편의성Apr 16, 2025 am 12:12 AM

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

Python vs. JavaScript : 커뮤니티, 라이브러리 및 리소스Python vs. JavaScript : 커뮤니티, 라이브러리 및 리소스Apr 15, 2025 am 12:16 AM

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

C/C에서 JavaScript까지 : 모든 것이 어떻게 작동하는지C/C에서 JavaScript까지 : 모든 것이 어떻게 작동하는지Apr 14, 2025 am 12:05 AM

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

JavaScript 엔진 : 구현 비교JavaScript 엔진 : 구현 비교Apr 13, 2025 am 12:05 AM

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

브라우저 너머 : 실제 세계의 JavaScript브라우저 너머 : 실제 세계의 JavaScriptApr 12, 2025 am 12:06 AM

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

Next.js (백엔드 통합)로 멀티 테넌트 SAAS 애플리케이션 구축Next.js (백엔드 통합)로 멀티 테넌트 SAAS 애플리케이션 구축Apr 11, 2025 am 08:23 AM

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

Next.js (Frontend Integration)를 사용하여 멀티 테넌트 SaaS 응용 프로그램을 구축하는 방법Next.js (Frontend Integration)를 사용하여 멀티 테넌트 SaaS 응용 프로그램을 구축하는 방법Apr 11, 2025 am 08:22 AM

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript : 웹 언어의 다양성 탐색JavaScript : 웹 언어의 다양성 탐색Apr 11, 2025 am 12:01 AM

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.