如何在chrome filesystem api中将文件写入临时目录?
chrome.fileSystem.getWritableEntry("temp dir here", function(entry) {
var uniqid = Math.floor((Math.random() * 10) + 1)+Date.now();
entry.getFile(uniqid+'.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob([printText], {type: 'text/plain'}));
});
});
});
我需要这个唯一的.txt
来写入临时目录,然后获取该位置..
答案 0 :(得分:1)
您可以将HTML5虚拟文件系统用作" staging"在将其复制到最终版本之前的位置"真实"夹。您仍然需要请求访问最终文件夹。
大多数详细信息都可以在Exploring the FileSystem API文章中找到,但主题如下:chrome.fileSystem
API基于相同的原则构建,当您使用{{1}请求时,您只需获得不同的条目}
要获取虚拟文件系统而不是真实文件系统,您需要一个不同的调用:
chrome.fileSystem.chooseEntry
有关更多文档,MDN是个不错的选择。
是的,有很大的红色可怕警告"不要使用"。它不可移植,因为只有Chrome实现它而其他浏览器决定不这样做。但是为了专门编写Chrome应用程序,它很好。如果您需要确保Chrome会继续支持它,那么window.webkitRequestFileSystem(
window.TEMPORARY,
5*1024*1024 /* 5MB, adjust as needed, may require "unlimitedStorage" permission */,
onInitFs,
errorHandler
);
function onInitFs(filesystem) {
/* do something with filesystem.root, which is a DirectoryEntry,
just as you would with `chrome.fileSystem.chooseEntry` */
}
就会与之紧密结合。