问题描述
当我将 blob 发送到服务器但是当我使用 socketio 库的emit()
将它发送回客户端时,它被转换为 ArrayBuffer(2563)
[[Int8Array]]
:
Int8Array(2563) [100, 105, 115, 116, 114, 105, 98, 117, 116, 105, 111, 110, 32, 118, 115, 32, 118, 97, 114, 97, 98, 108, 105, 116, 121, 32, 32, 111, 114, 32, 115, 116, 97, 110, 100, 97, 114, 100, 32, 100, 101, 118, 105, 97, 116, 105, 111, 110, 13, 10, 13, 10, 13, 10, 115, 99, 97, 108, 101, 32, 111, 102, 32, 115, 99, 97, 116, 116, 101, 114, 32, 112, 108, 111, 116, 13, 10, 108, 105, 110, 110, 101, 114, 32, 112, 97, 116, 116, 101, 114, 32, 111, 102, 32, 108, 105, 110, 101, 32, 105, …]
[[Uint8Array]]
:
Uint8Array(2563) [100, 105, 115, 116, 114, 105, 98, 117, 116, 105, 111, 110, 32, 118, 115, 32, 118, 97, 114, 97, 98, 108, 105, 116, 121, 32, 32, 111, 114, 32, 115, 116, 97, 110, 100, 97, 114, 100, 32, 100, 101, 118, 105, 97, 116, 105, 111, 110, 13, 10, 13, 10, 13, 10, 115, 99, 97, 108, 101, 32, 111, 102, 32, 115, 99, 97, 116, 116, 101, 114, 32, 112, 108, 111, 116, 13, 10, 108, 105, 110, 110, 101, 114, 32, 112, 97, 116, 116, 101, 114, 32, 111, 102, 32, 108, 105, 110, 101, 32, 105, …]
byteLength
:
(...)
我已将文本文件上传到服务器,在控制台中这是服务器返回的文件,因此如何读取文件内容,我使用了 filereader API 并将其转换为 blob,然后服务器将其作为数组缓冲区发送给我。
当文件在文件中时,当我将它发送到 python 中的服务器时,我可以直接在客户端读取其内容 blob 文件我也可以通过打印读取它,但是当它被发送回客户端 arraybuffer 时,我不不知道如何查看其内容。
1楼
您可以制作 ,然后您可以通过 FileReader 运行该 Blob 以获取文本
var blob = new Blob([yourArrayBuffer]);
var reader = new FileReader();
reader.onloadend = function(){
console.log("text: ",reader.result);
};
reader.readAsText(blob);