我正在使用multer进行文件上传。在服务器上我有这个:
stream.on('finish', () => {
console.log('finished')
next()
})
最好的方法(用什么命令)通知前端已经完成了#39;已经发生了?我想知道这个,以便有一个加载栏。
答案 0 :(得分:3)
这就是websockets的用途。服务器可以将数据发送到客户端,反之亦然。查看socket.io。
服务器:socket.emit("upload finished")
客户:socket.on("upload finished", function...)
答案 1 :(得分:1)
虽然Jeremy Thille的答案运作良好,但请注意向所有人播放活动。
Socket.emit()
只是向所有连接的客户端广播消息。
因此,您需要存储上传者的客户端ID,并仅向该客户端通知进度,而不是全部。 请参阅this。
答案 2 :(得分:0)
您可以使用套接字进行此类通信。 socket.io是Web套接字的节点包。在服务器中
socket.emit('done')
而在客户端,您可以附加到emit以接收新数据
socket.on('done', function (data) {
// Do something with data
});