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