如何在上传的每个文件的进度状态上使用带有formidable和socket.io的node.js?

时间:2012-09-12 03:40:32

标签: socket.io

我正在试图找出如何将上传数据进度发送回客户端。 看起来这个事件已经执行了两次,它带来了先前的进展。

form.addListener('progress',function(bytesReceived,bytesExpected){

            socket.sockets.on('connection', function(socket) {

                socket.emit('Uploaded', {
                    progress : (bytesReceived / bytesExpected * 100).toFixed(0)
                });
            });

        });

1 个答案:

答案 0 :(得分:0)

您可以将socket.io连接ID与文件上传请求一起发送。您可以通过以下客户端代码获取它:

var socketio = io.connect();
// more code here
// once connected you can access the following prop:
console.log(socketio.socket.sessionid);

在服务器端收到socket.sessionid后,您可以查找连接并发出数据

io.sockets.socket(id).emit('uploaded', dataz);

希望这有帮助。