我需要使用类似的方法将 base64 格式的文件流式传输到 http 端点request https://github.com/mikeal/request or 超级代理人 https://github.com/visionmedia/superagent。确定文件已上传百分比的最佳方法是什么?
我假设我可以使用类似以下内容创建读取流:
fs.createReadStream('/tmp/cats.jpg', {encoding: 'base64'})
任何使用上述库之一的示例将不胜感激。
我想你可以使用进度流 https://www.npmjs.com/package/progress-stream.
这是包中的示例:
var progress = require('progress-stream');
var fs = require('fs');
var stat = fs.statSync(filename);
var str = progress({
length: stat.size,
time: 100 /* ms */
});
str.on('progress', function(progress) {
console.log(progress);
/*
{
percentage: 9.05,
transferred: 949624,
length: 10485760,
remaining: 9536136,
eta: 42,
runtime: 3,
delta: 295396,
speed: 949624
}
*/
});
fs.createReadStream(filename)
.pipe(str)
.pipe(fs.createWriteStream(output));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)