Javascript 在本地保存文件

Javascript 在本地保存文件,javascript,html,google-chrome,Javascript,Html,Google Chrome,我正在尝试创建一个页面,其中有指向联机pdf的链接。 当您单击这些链接时,它将在本地保存文件,并向本地存储添加名称/路径。 然后我迭代本地存储键,以显示每个保存文件的链接 我在本地保存文件时遇到问题。我尝试使用chrome文件系统api: function saveFile() { chrome.fileSystem.chooseEntry({ type: "saveFile", suggestedName: "file.txt"

我正在尝试创建一个页面,其中有指向联机pdf的链接。 当您单击这些链接时,它将在本地保存文件,并向本地存储添加名称/路径。 然后我迭代本地存储键,以显示每个保存文件的链接

我在本地保存文件时遇到问题。我尝试使用chrome文件系统api:

function saveFile() {
        chrome.fileSystem.chooseEntry({
            type: "saveFile",
            suggestedName: "file.txt"
        },
        function (savedFile) {
            localStorage[s] = saveFile.fullPath;

        });
    }
但我得到了未捕获的TypeError:无法读取未定义的属性“ChooseSentry”


基本上,我需要将一个文件保存到系统中,并获取该路径。如果没有选择名称/位置的提示,则更可取

如果该应用程序是Chrome扩展,那么我认为可能是文件系统API尚未启用。对于需要通过为该应用程序启用的chrome应用程序,您也可以请求

如果是针对web应用程序,那么您可以使用请求文件系统,尽管这只能在Chrome中实现(可能仍然是Opera)

对于跨浏览器文件存储和下载支持,您可以使用类似浏览器存储和和库的功能,尽管您的存储容量和灵活性与本机chrome API不同。以下是FileSaver&Blob的示例:

var blob = new Blob([data.text], {
    type: "text/csv;charset=utf-8"
});
saveAs(blob, data.label + ".csv");

这是Google Chrome应用程序吗

如果是,您的清单文件中必须有以下条目:

   "permissions" : [
                       {
                          "fileSystem" : ["write", "directory"]
                        }
                   ]

(注意拼写。我遇到了错误,因为我编写了
权限
,而不是
权限

因此,如果它无法读取属性chooseEntry,则文件系统或chrome未定义。