这可以通过chrome.fileSystem将文件保存在客户端的磁盘上,但是可以通过更改文件名来实现。例如,我压缩一个文件,我希望该文件以我的新名称newFile.min.js存储在光盘上。我可以将文件保存到磁盘,但不能更改其名称。而我想要的是,一切都是在“无声”的情况下完成的,没有一个要求位置的窗口。
以下是我用来保存文件的功能:
function saveToEntry(entry, result) {
setTitle();
var blob = new Blob([result], {type: 'text/plain'});
currentEntry.createWriter(function(writer) {
writer.onwrite = function() {
writer.onwrite = null;
writer.write(blob);
}
writer.truncate(blob.size);
});
}
function setTitle() {
chrome.fileSystem.getDisplayPath(
currentEntry,
function(path) {
console.log(path);
document.title = path;
});
}
这可能吗?如果是这样,如果你有任何指导我的例子会很棒。如果没有,也会很棒:)。
提前感谢您的建议!
答案 0 :(得分:2)
为此(保存在单独的文件中),我担心您需要询问用户对文件夹的写访问权限,而不是单个文件。然后,您就可以在其中创建一个新文件。
我建议您要么让用户选择"工作"目录,从该文件夹中显示应用程序内文件选择器,并将结果保存在普通文件旁边。
或者,要求用户选择"输出"文件夹,并将结果转储到那里。
另一种解决方案是要求Native Host module。您将能够以与用户相同的权限访问系统。但是,它会限制您的部署选项:您的模块需要单独的安装程序,而这些安装程序无法托管在Chrome网上应用店中。