use*_*159 2 javascript download stream node.js
在这段代码中,我从URL流式传输文件并将其保存到文件中。是否有一种方法也可以通过某种方式对它进行管道传输,以计算管道传输的字节数?(这会告诉我文件的大小。)
request.stream(url)
.pipe(outputFile)
Run Code Online (Sandbox Code Playgroud)
是否有一些库可以通过下载通过下载的库来做到这一点,或者我自己做一个简单的方法呢?
您可以使用request库这样做:
const request = require('request');
const fs = require('fs');
var downloaded = 0;
request.get(url)
.on('data', function(chunk){
downloaded += chunk.length;
console.log('downloaded', downloaded);
})
.pipe(fs.createWriteStream(fileName));
Run Code Online (Sandbox Code Playgroud)
另外,您可以检查此链接以了解如何不带request包装地进行操作。
var http = require('http');
var fs = require('fs');
var download = function(url, dest, cb) {
var file = fs.createWriteStream(dest);
var downloaded = 0;
var request = http.get(url, function(response) {
response.pipe(file);
response.on('data', function(chunk){
downloaded += chunk.length;
console.log(downloaded);
})
file.on('finish', function() {
file.close(cb);
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |