是否可以使用socket.io将图像从客户端上传到服务器?
答案 0 :(得分:5)
WebSocket规范声明WebSockets应该能够将二进制数据作为ArrayBuffer发送,但是浏览器并不能很好地支持它。 Socket.io限制您发送字符串,但您可以发送Base64编码数据。因此,使用canvas toDataUrl()方法将图像作为base64进行设置。 Here's a great article on the subject.
答案 1 :(得分:1)
我建议使用类似文件堆栈的内容https://www.filestack.com/客户端上的用户可以将图像上传到s3存储桶并在回调中接收图像的URL。然后,您可以将url发送到socket.io。我实际上已经为我正在做的项目实现了这个,表演者可以上传图像,然后与房间里的人分享。基本上,他们通过filepicker上传它,获取url,通过socket.io发送url,然后在服务器上的socket.io将它广播给房间里的每个人。