简体   繁体   English

使用socket.io-stream检查节点js流的大小

[英]Check size of node js stream using socket.io-stream

I'm using socket.io-stream to upload a file, I want to know the size of data upload to limit. 我正在使用socket.io-stream上传文件,我想知道要限制的数据上传大小。

This is my server code: 这是我的服务器代码:

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
})

How can I do it? 我该怎么做?

may be you will get some idea to limit on stream size 也许您会知道一些限制流大小的想法

  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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM