2012-02-06 26 views
1

私はUploadifyで簡単な問題があります。アップロードが始まる前に、私はいくつかの基準をチェックしたい、それは本当です - 私はアップロードを中止したいと思います。以下のコードは正しく動作しません。私がuploadifyCancelと呼んでもアップロードされます。それを修正するには?Uploadify - アップロードを中止する方法

$("#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();の両方で、サイズが600〜700キロバイトを超えていた場合、私は、ファイルをキャンセルするいくつかの成功を持っていなかった開く時http://www.uploadify.com/forums/discussion/5611/uploadifysettings-not-posting-new-script-data/p1

上のスクリプトデータを変更すると、同じ問題を抱えていたように見えます。私はこれがアップロードのスピードに対処しなければならないと思う。これらは大きなファイルであったため、キャンセルイベントにはアップロードが完了する前に起動する時間がありました。あなたのローカルホストではなく、ライブサーバーでは、アップロード時間が遅くなるので、MAYBEは時間内にキャンセルするイベントに問題はありません。私はそれを危険にさらすことはありません。

アップロードを開始するページにセカンダリボタンを追加し、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 
    } 
} 
関連する問題