2012-07-31 2 views
3

내 사용자가 mp3 파일을 업로드 할 수 있도록 허용하여 메타 데이터를 읽고 노래 제목과 싱어 이름을 추출 할 수 있습니다.파일을 업로드하지 않고 클라이언트 측의 파일에서 정보를 가져올 수 있습니까?

현재 파일을 업로드하고 getId을 사용하여 메타 데이터를 읽습니다. 물론 업로드에는 많은 리소스와 대역폭이 필요합니다. 그리고 내가 필요로하는 모든 것이 2 가지 정보이고, 파일 자체로는 아무 것도하지 않을 것이기 때문에 mp3를 업로드하는 것은 낭비입니다. 그래서 나중에 삭제합니다.

내 서버에 파일을 복사하지 않고 클라이언트 측에서이 두 가지 정보를 얻을 수 있습니까?

답변

4

경우에만 FileReader 인터페이스 (파이어 폭스, 크롬, IE10, 사파리 버전 5.1, 확실하지 오페라에 대한)를 구현 HTML5 호환 브라우저에서이 작업을 수행 할 수 있습니다.

기본적으로 FileReader를 사용하여 파일의 내용을 메모리로 가져온 다음 원하는 MP3 태그를 수동으로 (클라이언트 측 javascript로) 검사합니다.

+0

좋은,이 구현할 수 및 불만 브라우저에 대한 대체로 업로드 메서드를 사용하는 것 같아요. 감사. – TK123

+0

실제로이 문제를 조사해도 메타 데이터가 탐지되지는 않습니다. 내가 console.log() 파일 개체를 파일 크기 및 형식 있지만 메타 데이터 같은 정보를 볼 수 있습니다. – TK123

+0

당신은 console.log 파일 개체를하지 FileReader에 의해 반환 된 데이터를 사용하여 작업 – gonchuki

0

클라이언트 측 파일에서 정보를 업로드하고 처리하지 않으려는 서버에서만 처리하거나 클라이언트 측에서 파일을 처리 할 클라이언트를 배포 할 수 있습니다 관련 정보 만 업로드 할 수 있습니다. 옵션 2를 사용하려면 클라이언트 응용 프로그램을 개발 (또는 공동 채택)하여 배포해야합니다. 이처럼

0

당신은 의미 : 작업 데모http://jsfiddle.net/9pfLJ/

좋은 링크 : http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html

http://www.aibn.com/help/Learn/mimetypes.html

휴식 데모와 함께 놀러 주시기 바랍니다, 그것은 당신의 원인 :) 희망이 도움을.

P. - 데모에서는 파일 이름도 알려줍니다.

코드

$(document).ready(function() { 
    $("#flUpload").change(function() 
    { 
    var iSize = ($("#flUpload")[0].files[0].size/1024); 

    alert("Name of file ===> " + $("#flUpload")[0].files[0].name); 

    if (iSize/1024 > 1) 
    { 
     if (((iSize/1024)/1024) > 1) 
     { 
      iSize = (Math.round(((iSize/1024)/1024) * 100)/100); 
      $("#lblSize").html(iSize + "Gb"); 
     } 
     else 
     { 
      iSize = (Math.round((iSize/1024) * 100)/100) 
      $("#lblSize").html(iSize + "Mb"); 
     } 
    } 
    else 
    { 
     iSize = (Math.round(iSize * 100)/100) 
     $("#lblSize").html(iSize + "kb"); 
    }  
    }); 
});​ 
+0

정확하지 않은 파일 이름과 크기는 메타 데이터에서 가져 오지 않습니다. 그래서 그 이름이 정확하지 않을 수도 있고 나는 가수 이름을 얻지 못할 수도 있습니다. 어쨌든 이것은 실제로 서버에 업로드하지 않고 이름과 파일 크기를 얻는 것이 가능하기 때문에 더 많은 정보를 얻을 수있는 방법이 있다고 생각한 이유입니다. – TK123

관련 문제