2014-11-02 13 views
1

我正在使用DropZone上傳一批圖像,但是我想在每個圖像的狀態後立即通知用戶。如何在dropzone.js中返回每個圖像的結果

例如如果圖像不合格,那麼我想標記就是這樣。

+0

你到目前爲止嘗試過什麼? Dropzone.js允許您將回調附加到許多不同的[事件](http://www.dropzonejs.com/#toc_8)。如果您在實施過程中遇到問題,請從此處開始並在此處發帖。 – 2014-11-02 17:02:56

+1

我知道我可以捕捉很多事件,問題是如何在完成的文件上從服務器事件返回,而DropZone仍然上傳其他文件? – 2014-11-02 17:14:02

+0

爲此可以使用'success'和'error'回調。文件上傳成功後調用'success'回調函數。獲取服務器響應作爲第二個參數。錯誤發生時調用'error'回調。接收errorMessage作爲第二個參數,並且如果錯誤是由於XMLHttpRequest將xhr對象作爲第三個參數引起的。 [參考](http://www.dropzonejs.com/#toc_8) – 2014-11-02 17:28:42

回答

2

我發現這裏的解決方案https://github.com/enyo/dropzone/issues/247

enyo評論2013年8月1日如果您uploadMultiple設置爲true,那麼 一個AJAX請求應該包含儘可能多的文件,parallelUploads。 如果您將uploadMultiple設置爲false,那麼將會有多少 AJAX請求爲parallelUploads。佩德羅·庫尼亞

pedrocunha評論2013年8月1日正是看到了這個bug可能是 視爲一個功能:)因爲我可以設置parallelUploads 1和 每AJAX請求時刻只能有一個形象,但在 幾個上傳同時佩德羅·庫尼亞

pedrocunha評論2013年8月1日我的觀點存在:這是非常 重要,因爲如果一個圖像不能出於某種原因上傳,讓我們 說服務器驗證錯誤,你可以處理這一點圖片。如果你的 正在處理一個東西的集合,它顯示錯誤更加棘手。 你明白我的意思嗎? 看起來好像在每個AJAX請求上配置發送的圖像數量 ?

這意味着如果我設置:

{ 
    parallelUploads: 8, 
    uploadMultiple: false, 
} 

然後,它會在自己的AJAX調用上傳8個文件prallel每服務器可以每圖像返回deiffernt錯誤代碼。

2

Dropzone.js允許您在週期中將回調附加到各種events。要在每個文件上傳到服務器後提供狀態,可以註冊successerror回調以提供此功能。

var myDropzone = new Dropzone("div#myId", { url: "/file/post" }); 

// attach callback to the `success` event 
myDropzone.on("success", function(file, result) { 
    // the file parameter is https://developer.mozilla.org/en-US/docs/DOM/File 
    // the result parameter is the result from the server 

    // [success code here] 
}); 

// attach callback to the 'error' event 
myDropzone.on("error", function(file, errorMessage, xhr) { 
    // if the xhr parameter exists, it means the error was server-side 

    if (xhr) { 
    // [error code here] 
    } 
}); 
+0

我認爲問題是服務器在批量上傳時如何在每個映像之後發送事件? – 2014-11-03 09:23:27