【发布时间】:2016-05-02 14:52:28
【问题描述】:
我有一个由 ArrayBuffer 生成的包含二进制数据的类型化数组
var myArr = new Uint8Array(myBuffer);
我正在向用户展示这个
var blob = new Blob(myArr, {type: "octet/stream"};
var blobURL = URL.createObjectURL(blob);
并插入一个链接
"<a href=" + blobUrl + " download=" + filename "/a>"
稍后,我让用户从磁盘中选择文件,并使用文件阅读器来处理
var reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsArrayBuffer(sourceFile);
问题是,似乎无论我做什么,我都会得到一个文件内容的“字符串”。事实上,当我保存文件时,我可以打开它,而且它显然是人类可读的。 IE。如果我的 Uint8Array 是 {"0" : "51", "1" : "52", "2" : "53" }
我可以在文本编辑器中打开下载的 blob,我只看到“515253”,我认为这不是应该发生的情况。
如何为格式正确的文件创建一个文件下载链接,以便我可以在 dget 中读取正确的值?
【问题讨论】:
标签: javascript arrays filereader typed-arrays