我编写了以下代码段,用于从网站下载图像。但是,我要在用户中使用的程序将能够下载许多或较大的图像。因此,我希望能够显示下载速度。如果可能的话,我也想在下载开始之前而不是在我的代码之后获取图像分辨率和大小。如何在Node.js中完成此操作?
var filename = 'coolimage.png';
var image = fs.createWriteStream(filename);
var req = request('awesomeurl.com/coolimage.png');
req.on('response', response => {
if (response.statusCode == 200) {
// Save the image
response.pipe(image);
image.on('finish', function () {
image.close();
// Get info
const imagestats = fs.statSync(filename);
alert(`bytes: ${imagestats.size}, resolution: ${sizeOf(filename)}`);
});
} else {
// Handle status code errors
}
});
req.on('error', error => {
// Handle request code errors
});