首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FileSaver.js保存blob

使用FileSaver.js保存blob
EN

Stack Overflow用户
提问于 2019-05-29 16:26:11
回答 1查看 2.9K关注 0票数 2

我使用FileSaver.js保存一个包含一些二进制数据的blob。我像这样从ArrayBuffer构造blob:

代码语言:javascript
复制
saveAs(new Blob([arr], {type: "application/octet-stream"}), '_test.data');

现在的问题是结果文件全为零。当我打印ArrayBuffer的内容时,字节是正常的,它不是一个“全零”数组。显然,blob的构造在某种程度上肯定是错误的。但根据文档,这应该是完成此操作的方法。也就是说,它应该能够接受ArrayBuffer,它应该被打包在另一个数组中(因此是方括号),八位组流类型应该代表二进制数据。那么我错过了什么呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 16:46:09

我不知道您是如何创建二进制数组的,因为它在这里工作。您可以与以下代码进行比较,也可以提供您的代码,以便我们检查

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<title>Web Page Design</title>

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js">
  </script>
  <script>
    document.write("Hello, Coding Ground!");
    var str = "Hello";
    var bytes = []; // char codes
    for (var i = 0; i < str.length; ++i) {
      var code = str.charCodeAt(i);
      bytes = bytes.concat([code]);

    }
    var blob = new Blob(bytes, {
      type: "application/octet-stream"
    });
    saveAs(blob, "_data.data");
  </script>
</head>

<body>
</body>

</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56356146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档