是否可以使用 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;
});
}
这可能吗?如果是这样,如果你有任何例子来指导我那就太好了。如果没有,那就太好了:)
提前感谢您的建议!
最佳答案
为此(保存在单独的文件中),恐怕您需要询问用户对文件夹而不是单个文件的写访问权限。然后您将能够在其中创建一个新文件。
我建议您要么要求用户选择一个“工作”目录,从该文件夹中显示应用内文件选择器,然后将结果保存在普通文件旁边。
或者,要求用户选择一个“输出”文件夹,并将结果转储到那里。
<小时/>另一个解决方案是需要 Native Host module 。您将能够以与用户相同的权限访问系统。不过,这会限制您的部署选项:您的模块需要一个单独的安装程序,而该安装程序无法托管在 Chrome 网上应用店中。
关于javascript - 使用 chrome.filesystem 保存并更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28460704/