2010-09-17 57 views
2

我正在使用plupload庫進行文件上傳的應用程序。我似乎無法獲得文件上傳工作,因爲有某種錯誤,但我不能得到此錯誤警報或日誌。Plupload和錯誤生成

有沒有人能夠做到這一點?

這裏是我當前的代碼:

uploader.bind('Error', function(error){ 
        console.log(error); 
       }); 

在此先感謝您的幫助!

+0

多遠,你得到什麼?文件是否到達您的服務器? – russau 2010-09-17 03:58:33

+0

沒有文件不會去任何地方。但我知道發生錯誤是因爲plupload對話框中的通知圖標是感嘆號。 – dennismonsewicz 2010-09-17 14:41:21

回答

0

這裏是試圖讓我的整個代碼庫這個工作

$('#plupload').pluploadQueue({ 
     runtimes : 'flash, html5', 
     url : '/admin/upload/do_upload/', 
     filters : [ 
      {title : "Image Files", extensions : "jpg,gif,png"} 
     ], 
     flash_swf_url : "/js/admin/plupload/plupload.flash.swf" 
    }); 

    $('form').submit(function(e) { 
     alert('EHY'); 
     var uploader = $('#plupload').pluploadQueue(); 

     // Validate number of uploaded files 
     if (uploader.total.uploaded == 0) { 
      // Files in queue upload them first 
      if (uploader.files.length > 0) { 
       // When all files are uploaded submit form 
       uploader.bind('UploadProgress', function() { 
        if (uploader.total.uploaded == uploader.files.length) 
         $('form').submit(); 
       }); 

       uploader.start(); 

       uploader.bind('Error', function(error){ 
        console.log(error); 
       }); 
      } else 
       alert('You must at least upload one file.'); 

      e.preventDefault(); 
     } 
    }); 
2

所以我知道這可能是太晚,但我剛開始plupload並且是一個有益的心情...

控制檯從不記錄任何內容的原因是因爲只有在所有上傳完成後纔會執行綁定。

您需要$('form').submit()線之前把這個代碼:

uploader = $('#plupload').pluploadQueue(); 
uploader.bind('Error', function(error){ 
    console.log(error); 
}); 
1

另一個遲到的回答。如果我是你,我會開始changins東西,如:

$('form').submit(function(e) { 

成類似:

$('form').bind('submit', function(e) { 

和類似的東西:

$('form').submit(); 

到:

$('form').trigger('submit'); 

另外我會移動所有這些b從$(form).submit中導出。

uploader.bind('UploadProgress', function() { 
    if (uploader.total.uploaded == uploader.files.length) 
     $('form').submit(); 
}); 

只是爲了簡單和可調試。

不幸的是,仍然不知道你的腳本有什麼問題。也許你錯過:

uploader.init(); 

可能:

if (uploader.total.uploaded == 0) { 

不觸發。

儘管如此,每行之後的一些console.log應該有所幫助。 :)

2

綁定錯誤事件需要兩個參數:

​​
+0

對我來說,'pluploadQueue()'返回的是一個jQuery對象而不是'plupload.Uploader',並且沒有辦法訪問後者,因爲它是一個未部署的內部變量。也許我錯過了一些東西,但它對我來說好像很糟糕。 – Walf 2012-06-07 04:53:56

0

我也搜索由Plupload插件提供的錯誤處理機制,沒有一個答案進行工作。所以這裏是工作的(每個版本2.1。2):

$(FileUpload.container).pluploadQueue({ 
     // General settings 
     runtimes: 'html5,flash,silverlight,html4', 
     url: "saveFiles", 
     chunk_size: '1mb', 
     rename: true, 
     dragdrop: true, 
     multipart : true, 
     unique_names : true, 
     filters: { 
      // Maximum file size 
      max_file_size: '16mb', 
      // Specify what files to browse for 
      mime_types: [ 
       {title: "XML files", extensions: "xml"} 
      ] 
     }, 
     // Flash settings 
     flash_swf_url: '/plupload/js/Moxie.swf', 
     // Silverlight settings 
     silverlight_xap_url: '/plupload/js/Moxie.xap', 
     init : { 
      Error: function(up, args) { 
       // Called when error occurs 
       Daedalus.localMessage("XML file is not valid!"); 
      } 
     } 
    }); 

的 「初始化」 對象更多支持的事件,是指http://www.plupload.com/examples/events