2016-07-23 2 views
1

크롬 파일 시스템 API를 사용하고 있습니다. 선택한 파일의 contentType을 찾고 싶습니다.크롬 파일 시스템 api 항목의 콘텐츠 유형

샘플 코드는

chrome.fileSystem.chooseEntry({type: 'openFile', accepts: accepts, acceptsMultiple: true }, function(theEntry, fileEntries) { 
        var fileCount = theEntry.length;.... 
       //.... theEntry.contentType (Something like this).......... 
+0

https://developer.mozilla.org/en-US/docs/Web/API/FileEntry#File –

+0

@DanielHerr, 그는 HTML5 파일 시스템이 아니라 Chrome 앱에 대해 이야기합니다. – Pacerier

+0

@Pacerier Chrome Apps 파일 시스템 API는 웹 파일 시스템 API와 통합되어 있습니다. –

답변

2

사용 FILE_ENTRY.file() 방법을 니펫을. 비동기식이므로 마지막 요소가 처리되고 있는지 수동으로 확인해야합니다.

chrome.fileSystem.chooseEntry({ 
    type: 'openFile', 
    acceptsMultiple: true 
}, function(entries) { 
    var files = []; 
    entries.forEach(function(entry, i, entries) { 
     var isLast = i == entries.length - 1; 
     entry.file(
      function(file) { // success callback 
       files.push(file); 
       if (isLast) { 
        processAll(files); 
       } 
      }, 
      function(file) { // error callback 
       console.error('error', file); 
       if (isLast) { 
        processAll(files); 
       } 
      } 
     ); 
    }); 
}); 

function processAll(files) { 
    files.forEach(function(file) { 
     console.log(file.name, file.type); 
    }); 
} 

주 :

  • File API specification.
  • Chrome의 파일 시스템 API는 잘 알려진 파일 형식에 대해서만 MIME 유형을 설정합니다.
    클립 보드 및 파일 INPUT 요소는 모든 MIME 형식을 인식합니다.
    출처 : chromium code (어디서 사용되는지 보려면 AllContentTypes을 클릭하십시오.)