2013-03-05 2 views
2

사용자가 드래그 앤 드롭을 사용하여 이미지를 업로드 할 수있는 페이지가있어서 jpg 파일 만 업로드하도록 제한하고 싶습니다.Jquery가 업로드시 파일 확장자 확인

jquery와 관련해서는 완전히 초보자라는 것을 인정해야합니다. 따라서이 작업을 수행하는 방법을 실제로 알지 못합니다. 이 내가이 모든 파일이 유효하지 어쨌든 그들을 업로드 나에게 말한다 'false를 반환'제거하는 경우는, 아무것도하지 않는이므로

은 지금까지 나는

var files = e.dataTransfer.files; 
var ext = $('#drop-files').val().split('.').pop().toLowerCase(); 


// Show the upload holder 
$('#uploaded-holder').show(); 

// For each file 
$.each(files, function(index, file) { 
    if($.inArray(ext, ['JPG','jpg','jpeg']) == -1) { 
      alert('invalid extension!'); 
      return false; 
     } 

있습니다.

감사

BTW

, 난 그냥 누군가가 내가

+0

어떤 오류가 표시됩니다? – Raptor

+0

정말로 파일 형식을 확인하려면 DataTransfer.getData()를 사용하여 페이로드를 읽고 선행 바이트 (PNG, GIF89, JFIF 또는 기타)를 확인하십시오. [소스] (http://stackoverflow.com/questions/8091766/checking-html5-checking-html5-drag-and-drop-file-type) – Stphane

+0

@ShivanRaptor, 아니요, 오류가 없습니다 – tatty27

답변

2

문제를 제공 한 코드의 섹션에서 놓친 뭔가를 분명 볼 수 바라고 있어요, 닫히지 않은 괄호가 있다는 것을 알고있다 제출자 함수가 아닌 each 루프 내의 함수에서 false을 리턴하기 때문입니다. 이것을 시도하십시오 :

// For each file 
var validExtension = false; 
$.each(files, function(index, file) { 
    if ($.inArray(ext, ['JPG','jpg','jpeg']) != -1 && !validExtension) { 
     validExtension = true; 
    } 
} 
return validExtension; 
+0

고마워, 왜 그런지 모르겠지만 Dreamweaver에서 돌아온 후에 구문 오류를 표시합니까? – tatty27

+0

괜찮습니다. 도움을 주셔서 감사합니다. – tatty27

+0

@ tatty27 아무런 문제가 없으니 도와 주셔서 감사합니다. –