现在我有代码,将图像或任何其他文件从浏览器发送到服务器,然后服务器将流广播到所有其他套接字。一切正常,但我对如何实现一无所知的部分是浏览器的接收端。
浏览器发送:
var file = files[0]
var stream = ss.createStream()
ss(socket).emit('file', stream, { size: file.size })
ss.createBlobReadStream(file).pipe(stream)
服务器:
ss(socket).on('file', function(stream, data) {
stream.pipe(fs.createWriteStream('file.jpg'))
var newStream = ss.createStream()
ss(socket).emit('file', newStream)
stream.pipe(newStream)
})
浏览器接收:
ss(socket).on('file', function(stream, data) {
// Implement this
})
我不确定如何处理传入的流并使用我刚刚发送的图像、显示它或任何其他任务。感谢您对此提供的任何帮助,或指出此代码中的任何错误。提前谢谢。
您可以通过侦听浏览器接收的数据事件来获取 uint8array。 不过我仍然不知道该怎么办。
ss(socket).on('file', function(stream, data) {
stream.on("data",function(uint8array){ //do something })
})
我希望看到的其他事件似乎没有显示在客户端收到的流中。