2016-07-23 30 views
1

我正在使用chrome文件系統API。想要找到所選文件的contentType。鉻文件系統api中條目的ContentType

示例代碼段

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,他談論的是Chrome應用程序,而不是HTML5文件系統。 – Pacerier

+0

@Pacerier Chrome Apps文件系統API與Web文件系統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查看它在哪裏使用)。