javascript - 使用 chrome.filesystem 保存并更改文件名

标签 javascript html filesystems google-chrome-app

是否可以使用 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/

相关文章:

javascript - Python - 使用 selenium 的 javascript 网页抓取无法正常工作

html - 从 Sharepoint 服务器更改客户端分类选择器的样式

windows - 在 Windows 中查找文件夹的实际大小

windows - 如何确定文件的碎片化程度?

android - 检查文件夹是否为空(内部存储)

javascript - Vue 中路由后未定义 auth0 变量

javascript - document.getElementById ("").value 不适用于 Flipswitch

javascript - 如何防止用户在 Angular 8 中输入连续的 "00"?

Javascript:消失的对象属性

html - 如何使flex从底部显示元素