如何在 chrome 应用中保存多个文件
How to save multiple files in a chrome app
我正在尝试将多个文件保存到一个目录中 - 在一个操作中。如果我正确理解了chrome文件系统api文档,那么当我使用chrome.fileSystem.chooseEntry的openDirectory选项时,这应该是可能的。这甚至允许吗?
但是,文档非常简约,我也没有通过谷歌找到任何示例。
更多背景:
我具有访问目录的适当权限,并且还具有写入权限:
/*you need chrome >= Version 31.x [currently chrome beta]*/
"permissions": [
{"fileSystem": ["write", "directory"]}, "storage",
]
然后你留下chrome.fileSystem.chooseEntry(对象选项,函数回调)和chrome.fileSystem.getWritableEntry(entry entry,函数回调),但我没有弄清楚这些函数是否是我想要的。
以下是将单个文件保存到文件系统的方法:
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'}));
});
});
});
});
相关文章:
- 在Firefox中自动保存文件
- 提示用户通过AJAX调用保存文件
- 如何提供保存文件而不是从internet explorer打印文件的选项
- Basecamp的Trix WYSIWYG编辑器gem没有在Rails 4应用程序中保存文件附件
- 钛:从Android的相机/图库图像本地保存文件
- 如何使用office.js检查未保存文件的具体文件扩展名
- node-webkit:将数据导出到csv并提示用户保存文件
- 通过本地应用程序的Javascript保存文件
- 如何为使用 JSP 生成的下载文件显示“保存文件”对话框
- 在浏览器中保存文件的Javascript
- 使用数据URI提示用户保存文件
- 如何在使用php使用jquery编辑文件后保存文件
- 如何在Safari中显示保存文件对话框
- Javascript:使用ActiveXobject保存文件
- 强制浏览器在单击链接后保存文件
- 如何在javascript中将事件添加到浏览器的“保存文件”对话框中
- 谷歌浏览器扩展程序在客户端保存文件
- 在文件保护程序.js中保存文件后关闭窗口
- 保存文件选项,用于将html文件保存在系统中的给定位置
- 使用不同的扩展名保存文件