2013-04-11 6 views
0

간단한 파일 업로드에 dropzonejs을 사용하고 있습니다. 나는 현재 몇 가지 문제가 있습니다.dropzonejs 파일 유형

업로드하는 파일 형식을 개까지 제한하는 방법을 모르겠다.. PHP 백엔드에서 파일 확인 기능을 사용할 수 있지만 이러한 필터를 통과하지 못하더라도 파일에 업로드 된 것으로 보입니다 (체크 표시가 나타납니다). 그러나 이것은 실제 문제가 아닙니다. 추가 자바 스크립트 필터링의 유일한 유형은 파일 유형입니다. 현재 모든 유형의 파일을 선택할 수 있지만 이것을 한 업 로더의 이미지 파일 및 pdf/word/excell의 다른 파일로 제한하고 싶습니다. 플러그인 자체에서이 작업을 수행 할 수 있습니까? 또는 다른 곳에서 어떻게 수행 할 수 있습니까?

플러그인은 jquery가 필요하지 않지만 다른 곳에서는 jquery를 사용하므로 솔루션에 사용할 수 있습니다. 수락 옵션이

DROPZONE 문서 ( http://www.dropzonejs.com/)에서

답변

2

은 -

Dropzone.options.myAwesomeDropzone = { 
    paramName: "file", // The name that will be used to transfer the file 
    maxFilesize: 2, // MB 
    accept: function(file, done) { 
    if (file.name == "justinbieber.jpg") { 
     done("Naha, you don't."); 
    } 
    else { done(); } 
    } 
}; 

당신이해야 할 모든 특정 확장자를 가진 파일을 받아처럼, 당신의 목적을 위해 수정입니다.

+0

아, 코드 조각을 보았지만 실제로 생각하지 않았습니다. filetype을 사용하여 filetype을 얻을 수 있습니다. 그러나 문제는 파일을 선택하면 해당 코드가 실행된다는 것입니다. done()은 모든 성공적인 업로드 후에도 동일한 작업을 수행합니다. 그래서 20 개의 올바른 파일을 선택한 다음 잘못된 파일을 선택했다고 가정하면 done() 함수를 사용합니다. 필자의 경우 done() 함수는 window.location.reload();를 수행한다. 전체 코드는 다음과 같다. http://pastebin.com/AHxC9NWy – jdepypere

+1

주위를 뒤죽박죽으로 처리 한 후에 문제를 해결했다. Apparently done ("error")'가 complete 이벤트를 발생 시켰습니다. 그래서 완전한 이벤트에서 나는 새로운 if-statement를 가졌습니다. 파일 업로드는 자동 업로드되기를 원하지 않기 때문에 버튼을 클릭 한 후에 만 ​​버튼이 클릭되었는지 확인했습니다. 마지막 코드는 다음과 같습니다. http://pastebin.com/yUbkRqTA – jdepypere

+0

우수! 다행 이네. –