当强制通过window.location下载时,如何在JavaScript中设置blob文件的名称?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
Run Code Online (Sandbox Code Playgroud)
运行上面的代码会立即下载文件而不会刷新页面,如下所示:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
我想将文件名设置为my-download.json.
我现在正在创建Google Chrome扩展程序,我想知道它是否可以创建JSON文件以进行下载(导出)并创建一个按钮,用户可以在其中打开扩展程序并解析他们已保存的JSON文件他们的本地文件系统或USB记忆棒(导入)?
从本地文件系统解析每个JSON只需要读取每个键值对并对数据执行某些操作.它只需要处理字符串,所以没有什么复杂的.
**编辑:**我的问题不是这个问题的重复,因为我对更改用户的下载路径不感兴趣.我想要的是让他们在征得他们的同意后,将文件下载到他们的正常下载目录(Filesaver.js可以做到).另外,该帖子没有说明导入.
javascript json google-chrome google-chrome-extension google-chrome-app