当前位置: 代码迷 >> python >> 读取通过服务器发送的javascript中arraybuffer的内容(文件阅读器api)
  详细解决方案

读取通过服务器发送的javascript中arraybuffer的内容(文件阅读器api)

热度:74   发布时间:2023-07-14 08:46:29.0

当我将 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 时,我不不知道如何查看其内容。

您可以制作 ,然后您可以通过 FileReader 运行该 Blob 以获取文本

var blob = new Blob([yourArrayBuffer]);
var reader = new FileReader();
reader.onloadend = function(){
  console.log("text: ",reader.result);
};
reader.readAsText(blob);
  相关解决方案