我需要使用request或superagent之类的东西将 base64 格式的文件流式传输到 http 端点。确定文件已上传百分比的最佳方法是什么?
我假设我可以使用类似以下内容创建读取流:
fs.createReadStream('/tmp/cats.jpg', {encoding: 'base64'})
Run Code Online (Sandbox Code Playgroud)
任何使用上述库之一的示例将不胜感激。
我认为你可以使用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));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12782 次 |
| 最近记录: |