2014-03-07 1 views
2

를 추가 실패에 오류가 발생하지 않습니다 이벤트가 발생하면 "fileuploadadd"이 발생하고 파일이 성공적으로 추가되면 다른 이벤트가 실행됩니다. "fileuploadadded".blueimp JQuery와 파일 업로드는</p> <p>(.. 예를 들어 acceptFileTypes, MAXFILESIZE, maxNumberOfFiles 등) 우리는 다양한 조건/파일 업로드에 대한 제한을 설정할 수 있습니다이 플러그인에서

그러나 파일을 추가 할 때 이러한 조건/제한 중 하나가 실패하면 (예 : 사용자가 이미지 대신 2GB 파일이나 텍스트 파일을 업로드하려고 시도하는 경우) 실패했음을 프로그램 방식으로 알 수 없습니다.

이 조건이 충족되지 않으면 이벤트가 발생하지 않습니다. 사용자가 선택한 파일에 오류가있어 큐에 추가되지 않았는지 확인하는 데 사용할 수있는 항목은 무엇입니까? 내가 생각할 수있는

유일한 방법은이 이벤트 "을 추가"기다려가 발생하지 않습니다 있는지 문제가 다음 이벤트 " 추가"화재입니다. 그러나 나는 오랫동안 모든 처리를 중단하고 싶지 않고 "added"이벤트가 발생했는지 여부를 너무 빨리 확인하고 싶지 않습니다.

또는

사람이 플러그인에서 사용자 정의 이벤트 (예를 들어, fileaddfailedevent)를 던지하는 방법에 대한 안내시겠습니까?

+0

내 대답은 여기 좀 봐주세요 : http://stackoverflow.com/questions/15549094/jquery-file-upload-plugin-how-to-validate-files-on-add – Tomasz

답변

5

글쎄,이 요구 사항에 대한 사용자 지정 이벤트를 트리거하는 방법을 알아 냈습니다. 누군가가 동일한 것을 달성하는 방법을 궁금해하는 경우에 대비하여 여기에 답변을 게시하십시오.

우리가 마지막 리스너가 }).fail(function() {입니다 다시 add: function (e, data) { 전화를 추가 내부 "JS \ jquery.fileupload-ui.js"

에 위치해야 변경해야 할 핵심 파일.

}).fail(function() { 
if (data.files.error) { 
    data.context.each(function (index) { 
     var error = data.files[index].error; 
     if (error) { 
      $(this).find('.error').text(error); 
     } 
    }); 
    // added custom event to check whether any error has occured while adding the file. 
    that._trigger('addfileerror', e, data); 
} 
}) 
:
that._trigger('addfileerror', e, data);

이 다음과 같아야합니다 리스너를 실패 요약 : 이것은 우리가 다음 줄을 추가해야한다는 점에서 (버전에 따라) 약 행 번호 (120)

해야한다


이제 다른 수신기와 마찬가지로 수신기를 바인딩하여이 이벤트를 확인할 수 있습니다.

$('#fileupload').bind('fileuploadaddfileerror', function (e, data){ 
    console.log('Custom Error Event Fired'); 
}); 


희망이 사람을 도움이됩니다.

UPDATE :

문서가 명확하게 언급하지 않더라도, 나는 그냥 "fileuploadprocessfail"이벤트가 정확히 위의 요구 사항에 대해 동일한한다는 것을 배웠습니다.

+0

하지만 이제 어떻게해야합니까? 정확히 어떤 오류가 던져 졌는지 알아? –