是否可以将FileEntry
转换为标准JavaScript对象File
?
我在文档https://developer.chrome.com/apps/fileSystem
答案 0 :(得分:9)
FileEntry
documentation确实在此处提供了指导:
文件系统API的
FileSystemFileEntry
接口表示一个 文件系统中的文件。它提供描述文件的属性 属性以及创建文件对象的file()
方法 可以用来读取文件。
不幸的是,file()
方法依赖于回调而不是Promises,但是我们可以对其进行包装,并使使用API(以及阅读代码)更加容易:
async function getFile(fileEntry) {
try {
return await new Promise((resolve, reject) => fileEntry.file(resolve, reject));
} catch (err) {
console.log(err);
}
}
var file = await getFile(fileEntry);
请注意,FileSystemFileEntry
是非标准功能,不是标准跟踪,因此API和浏览器支持可能会更改!
答案 1 :(得分:4)
我在谷歌示例https://github.com/GoogleChrome/chrome-app-samples/blob/master/samples/filesystem-access/js/app.js
中找到了如何做到这一点var jsFileObject;
fileEntry.file(function (file){
jsFileObject = file
});