我正在尝试将用 base64
编码的图像发送到 socket.io 服务器。简单地发出它似乎不起作用。但是,发送较短的字符串工作正常,问题在于发送非常长的 base64
编码图像。
// this works
this.socket.emit('imageUpload', {captureType: "documentBack", data: "simple text"})
// this doesn't
this.socket.emit('imageUpload', {captureType: "documentBack", data: "really long base64 encoded image"})
我有一个用 React JS 构建的前端和用 Node 构建的后端。
按照@Zac 的评论,我已经按照文档说明实现了 socket.io-stream
,但我仍然看不到后端的请求。数据似乎是从客户端发出的,但我看不到事件处理程序上的数据。
这是我目前所拥有的:
// Client (React.js)
import ss from 'socket.io-stream';
stream = ss.createStream();
ss(this.socket).emit('imageUpload', this.stream, {
captureType: 'documentBack',
data: imageData,
});
// Server (Node.js)
socket.on("imageUpload", (stream, imageData) => {
console.log("Image uploaded");
// console.log(stream);
// console.log(imageData);
socket.broadcast.to(sessionId).emit("imageDownload", imageData);
});