Javascript 如何在chrome应用程序中保存多个文件
我正试图在一次操作中将多个文件保存到一个目录中。如果我正确理解了,当我为chrome.fileSystem.chooseEntry使用openDirectory选项时,这应该是可能的。这是允许的吗?Javascript 如何在chrome应用程序中保存多个文件,javascript,google-chrome,Javascript,Google Chrome,我正试图在一次操作中将多个文件保存到一个目录中。如果我正确理解了,当我为chrome.fileSystem.chooseEntry使用openDirectory选项时,这应该是可能的。这是允许的吗? 然而,文档非常简单,我也没有通过谷歌找到任何例子 更多背景信息: 我有访问目录的适当权限,也有写入权限: /*you need chrome >= Version 31.x [currently chrome beta]*/ "permissions": [ {"fileSystem"
然而,文档非常简单,我也没有通过谷歌找到任何例子 更多背景信息:
我有访问目录的适当权限,也有写入权限:
/*you need chrome >= Version 31.x [currently chrome beta]*/
"permissions": [
{"fileSystem": ["write", "directory"]}, "storage",
]
然后剩下chrome.fileSystem.chooseEntry(对象选项,函数回调)和chrome.fileSystem.getWritableEntry(条目条目,函数回调),但我不知道这些函数是否是我想要的
以下是如何将单个文件保存到文件系统:
chrome.fileSystem.chooseEntry({type:"saveFile", suggestedName:"image.jpg"},
function(entry, array){
save(entry, blob); /*the blob was provided earlier*/
}
);
function save(fileEntry, content) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
fileWriter.onwriteend = null;
fileWriter.truncate(content.size);
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
var blob = new Blob([content], {'type': 'image/jpeg'});
fileWriter.write(blob);
}, errorHandler);
}
但是,当我使用chrome.fileSystem.chooseEntry({type:“openDirectory”,…}或者openDirectory只授予我读取权限时,我如何保存多个文件呢?我相信这应该有效
chrome.fileSystem.chooseEntry({type:'openDirectory'}, function(entry) {
chrome.fileSystem.getWritableEntry(entry, function(entry) {
entry.getFile('file1.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
});
});
entry.getFile('file2.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Ipsum'], {type: 'text/plain'}));
});
});
});
});
哇。我真不敢相信这是有效的,教程对此完全没有提及。你是怎么知道的?继续