use*_*709 8 connect node.js express jquery-html5uploader
有没有办法在connect或express中设置模式或值来模拟慢速文件上传?
首先,安装node-limiter然后创建一个Transform将限制任何Streams 的流:
var util = require('util');
var Transform = require('stream').Transform;
var TokenBucket = require('limiter').TokenBucket;
function BucketStream(rate, interval, parentBucket, options) {
Transform.call(this, options);
this.bucket = new TokenBucket(Number.POSITIVE_INFINITY, rate, interval, parentBucket);
}
util.inherits(BucketStream, Transform);
BucketStream.prototype._transform = function(chunk, encoding, callback) {
this.bucket.removeTokens(chunk.length, function(err) {
callback(err, chunk);
});
};
Run Code Online (Sandbox Code Playgroud)
那么请求是ReadableStream:
var bucketStream = new BucketStream(1024 * 500, 'second'); // 500KB/sec
req.pipe(bucketStream);
Run Code Online (Sandbox Code Playgroud)
现在以您想要的速度读取bucketStream(而不是从 req),您只会获得 500KB/秒
我在我的头上做了这个所以要小心:)
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |