节点JS:从请求中获取下载速度

时间:2019-01-04 23:27:49

标签: javascript node.js

我编写了以下代码段,用于从网站下载图像。但是,我要在用户中使用的程序将能够下载许多或较大的图像。因此,我希望能够显示下载速度。如果可能的话,我也想在下载开始之前而不是在我的代码之后获取图像分辨率和大小。如何在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
    });

0 个答案:

没有答案