Node.js socket.io-stream不';t发射事件

Node.js socket.io-stream不';t发射事件,node.js,file-upload,websocket,socket.io,socket.io-1.0,Node.js,File Upload,Websocket,Socket.io,Socket.io 1.0,我正在尝试通过socket.io 1.0.4和socket.io-stream的最新版本创建文件上载。每当我尝试发出ss(socket.emit('mediawload',file))事件在客户端执行,但不在服务器端调用。我没有收到任何调试或错误消息。如果我试图通过socket.emit('mediaupload')发出事件,服务器就会收到事件 服务器声明 ss(socket).on('mediaupload', function(stream, data) { debug('Data:', d

我正在尝试通过socket.io 1.0.4和socket.io-stream的最新版本创建文件上载。每当我尝试发出
ss(socket.emit('mediawload',file))事件在客户端执行,但不在服务器端调用。我没有收到任何调试或错误消息。如果我试图通过socket.emit('mediaupload')
发出事件,服务器就会收到事件

服务器声明

ss(socket).on('mediaupload', function(stream, data) {
debug('Data:', data);
...
}
我不知道该试什么了

uploadFile: function (fileWithMeta, callback_end, callback_data) {
        var file=fileWithMeta.file;

        var stream = ss.createStream();
        log.log('File to Upload with stream: ', stream);
        ss(socket).emit('mediaupload', file);

        var blobStream = ss.createBlobReadStream(file);
        if (callback_end){
            blobStream.on('end', function(e) {
                callback_end(e);
            });
        }

        if (callback_data){
            var uploadedSize=0;
            blobStream.on('data', function(chunk) {
                uploadedSize+=chunk.length;
                callback_data(Math.floor(uploadedSize / file.size * 100), uploadedSize, chunk);
            });
        }
        blobStream.pipe(stream);
    }
我通过angularjs指令读取输入文件

angular.module('oo.util').directive('ooFileReader', ['ooLog', '$parse', function (log, $parse) {
var slice = Array.prototype.slice;
return {
    restrict: 'A',
    //scope: false,
    link: function (scope, element, attrs) {
        element.bind("change", function (e) {
            $parse(attrs.ooFileReader).assign(scope, e.target.files[0]);                
        });
    }
};}]);
模板的一部分

 <input name="fileupload" type="file" oo-file-reader="fileupload" multiple>
根据,您必须发出
,而不是
文件

试着替换

ss(socket).emit('mediaupload', file);


按照所述在客户端上包括socket.io-stream脚本后:

您可以执行以下操作:

function(file){
  var stream = ss.createStream();
  ss(socket).emit("stream", stream, {},function(){})
  ss.createBlobReadStream(file).pipe(stream)
}

我刚刚尝试从运行示例代码(稍作修改),它在Socket.io1.0.4和最新的Socket.IO-stream中运行良好。你能显示你的完整代码吗?我把代码添加到了主帖子中。
ss(socket).emit('mediaupload', stream);
cp node_modules/socket.io-stream/socket.io-stream.js somewhere/public/
function(file){
  var stream = ss.createStream();
  ss(socket).emit("stream", stream, {},function(){})
  ss.createBlobReadStream(file).pipe(stream)
}