6

是否可以使用 socket.io 将图像从客户端上传到服务器?

4

2 回答 2

5

WebSocket 规范声明 WebSockets 应该能够以 ArrayBuffer 的形式发送二进制数据,但是浏览器并不能很好地支持这一点。Socket.io 限制您发送字符串,但您可以发送 Base64 编码数据。因此,使用 canvas toDataUrl() 方法获取 base64 格式的图像,一切就绪。这是一篇关于这个主题的好文章。

于 2012-04-14T23:51:21.537 回答
2

我建议使用类似文件堆栈https://www.filestack.com/客户端上的用户可以将图像上传到 s3 存储桶并在回调中接收到图像的 url。然后,您可以只将 url 发送到 socket.io。我实际上已经为我正在做的一个项目实现了这一点,表演者可以上传图像,然后与房间里的人分享。基本上,他们通过文件选择器上传它,获取 url,通过 socket.io 发送 url,然后服务器上的 socket.io 将它广播给房间里的每个人。

于 2013-08-13T00:46:04.240 回答