chrome 文件系统 api 中条目的内容类型

ContentType of an Entry in chrome file system api

我正在使用 chrome 文件系统 API。想要找到所选文件的 contentType。

示例代码片段

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

使用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查看使用位置)