Проверьте размер потока js узла с помощью socket.io-stream

Я использую socket.io-stream для загрузки файла, я хочу знать размер загружаемых данных для ограничения.

Это мой код сервера:

ss       = require('socket.io-stream'),
SocketIo = require('socket.io'),
path     = require('path'),
fs       = require('fs');

let io      = SocketIo.listen(server);

io.of("/users").on('connection',function(socket){
    ss(socket).on('avatar-upload', function(stream, data) {
        let filename = path.format({
            root: '/',
            dir: '/home/user/project/public/upload/',
            base: data.name
        });
    });
    // Check data stream size to limit here
})

Как мне это сделать?

1 ответ

Решение

Может быть, у вас появится идея ограничить размер потока

  var blobStream = ss.createBlobReadStream(file);
    var size = 0;

    blobStream.on('data', function(chunk) {
      size += chunk.length;
      console.log(Math.floor(size / file.size * 100) + '%');
      // -> e.g. '42%' 
    });

    blobStream.pipe(stream);
Другие вопросы по тегам