2012-02-06 4 views
1

Uploadify에 간단한 문제가 있습니다. 업로드가 시작되기 전에 몇 가지 기준을 확인하고 싶습니다. 사실입니다. 업로드를 중단하고 싶습니다. 아래 코드는 제대로 작동하지 않으며 uploadifyCancel으로 전화를 걸어도 파일을 업로드합니다. 그것을 고치는 방법?업로드 - 업로드를 중단하는 방법?

$("#fileuploader").uploadify({ 
      uploader: '/Scripts/uploadify.swf', 
      script: '/Upload/' 
      fileDataName: 'file', 
      buttonText:'upload', 
      multi: false, 
      sizeLimit: 369878, 
      simUploadLimit: 1, 
      cancelImg: '/Images/uploadify-cancel.png', 
      auto: true, 
      onOpen:function(event,ID,fileObj) { 
       var found = $('#uploaded-files-table tr[some-attr="1"]'); 

       if($(found).length == 0){ 
        $('#list').attr('disabled','disabled'); 
       } else { 
        $("#fileuploader").uploadifyClearQueue(); 
        $("#fileuploader").uploadifyCancel(ID); 
       } 
      } 
     }); 

답변

0

$("#fileuploader").uploadifyCancel(ID); 코드가 올바르게 작동하고 있습니다. onComplete 및 onAllComplete를 추가하면이 이벤트 중 어느 것도 취소 이벤트가 작동되었음을 알리는 이벤트가 발생하지 않습니다.

문제는 onOpen 이벤트가 발생하기 전에 업로드 파일이 본질적으로 파일 업로드를 시작한다는 점입니다. 그들은 내가 그들이 $("#fileuploader").uploadifyCancel(ID);$("#fileuploader").uploadifyClearQueue(); 모두 크기가 6백~7백킬로바이트 이상 인 경우에 파일을 취소 일부 성공을했다

으로 onOpen http://www.uploadify.com/forums/discussion/5611/uploadifysettings-not-posting-new-script-data/p1에 스크립트 데이터를 수정과 같은 문제가 된 것 같습니다, 여기에서 확인하십시오. 나는 이것이 업로드 속도를 처리해야한다고 생각한다. 이러한 파일이 크기 때문에 업로드가 완료되기 전에 취소 이벤트가 시작되었습니다. 로컬 호스트가 아닌 라이브 서버에서 업로드 시간이 느려지므로 시간 내에 취소되는 이벤트에 문제가 없을 수도 있습니다. 나는 그것을 위험에 빠뜨리지 않을 것이다.

가능한 해결 방법은 업로드를 시작하는 페이지에 보조 버튼을 포함하고 uploadify init에서 auto: 'true'을 제거하는 것입니다. 이렇게하면 업로드가 시작되기 전에 필요한 모든 값을 확인할 수 있습니다.

0

확인하려면 업로드 할 onSelect을 사용하십시오.

당신은 다음과 같이 수행 할 수 있습니다

$("#fileuploader").uploadify({ 
      uploader: '/Scripts/uploadify.swf', 
      script: '/Upload/' 
      fileDataName: 'file', 
      buttonText:'upload', 
      multi: false, 
      sizeLimit: 369878, 
      simUploadLimit: 1, 
      cancelImg: '/Images/uploadify-cancel.png', 
      auto: true, 
      'onSelect': function (file) { 
         if(file.type==".zip") 
         {//do something 
         } 
         else 
         { 
          //cancel upload 
         } 
0

나는 당신의 사용하지만이 방법은 아래에 그것을 할 수있는 버전 모르겠습니다. 파일 확장자를 기준으로 정지 파일 업로드가 필요합니다.

'onAddQueueItem':function(file, e) { 
if (!(/\.(gif|jpeg|png|pdf)$/i).test(file.name)) { 
$($this).data("uploadifive").removeQueueItem(file, 0, 10); 
    file.skip = true; //This skip property stop uploading file 
    } 
} 
관련 문제