可以将JavaScript变量保存为文件吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

有什么方法可以将JavaScript变量存储到文件中(例如,TXT,XML ...),它可以从浏览器下载到PC?

提问于
用户回答回答于

是的,你可以使用download属性在HTML5中做这样的事情

var textToSave = 'this is a test';

var hiddenElement = document.createElement('a');

hiddenElement.href = 'data:attachment/text,' + encodeURI(textToSave);
hiddenElement.target = '_blank';
hiddenElement.download = 'myFile.txt';
hiddenElement.click();
用户回答回答于

您可以像使用adeneo的答案一样使用data:URI,但另一种方法是使用HTML5 Blob和createObjectURL(同样使用download属性创建下载链接)。

使用createObjectURL的好处是在大多数浏览器中对数据URI有严格的大小限制。

来自链接文章的示例代码:

var typedArray = GetTheTypedArraySomehow();
var blob = new Blob([typedArray], {type: 'application/octet-binary'});
    // pass a useful mime type here
var url = URL.createObjectURL(blob);
// url will be something like: blob:d3958f5c-0777-0845-9dcf-2cb28783acaf
// now you can use the url in any context that regular URLs can be used
// in, for example img.src, etc.

扫码关注云+社区