当前位置: 首页 > 面试题库 >

通过请求获取Node.js的下载进度

澹台俊达
2023-03-14
问题内容

我正在创建一个更新程序,该更新程序使用Node模块下载应用程序文件request。如何chunk.length估算剩余文件大小?这是我的代码的一部分:

var file_url = 'http://foo.com/bar.zip';
var out = fs.createWriteStream('baz.zip');

var req = request({
    method: 'GET',
    uri: file_url
});

req.pipe(out);

req.on('data', function (chunk) {
    console.log(chunk.length);
});

req.on('end', function() {
    //Do something
});

问题答案:

这应该为您提供所需的总数:

req.on( 'response', function ( data ) {
    console.log( data.headers[ 'content-length' ] );
} );

我得到的内容长度为 9404541



 类似资料:
  • 我需要下载一个相当大的(~200MB)文件。我在这里找到了下载和保存文件的方法。如果有一个进度条来知道下载了多少,那就太好了。我找到ProgressBar,但我不知道如何将两者结合起来。 这是我试过的代码,但不起作用。

  • 问题内容: 通过XHR请求下载pdf文件是否完全不可能?我知道已经有许多关于此主题的讨论,但可悲的是,我仍然对它们不满意。我正在使用AngularJs并使用其方法发出请求。它不返回任何文件下载弹出窗口。但是,如果在新的“浏览器窗口”中使用相同的URL进行点击,则会弹出一个窗口。我已经尝试了一个工作环境,并且可以正常工作,但是如果执行此操作,那么在下载弹出窗口准备就绪并出现之前,我无法显示等待的图像

  • 如何获取json请求正文?

  • 我向服务器发出POST请求以生成CSV文件,POST请求的响应是我要写入文件的CSV数据。 我永远不知道CSV文件的大小(它可以是10MB,100MB或1000MB),因此没有内容长度的头。 我已经编写了一个函数,可以下载并向服务器发出POST请求,生成CSV文件并将响应写入CSV文件。然而,我正在努力与进步吧。 如何添加进度条?

  • 问题内容: 我有一个名为“ localhost:3000 / returnStat”的服务,该服务应将文件路径作为参数。例如“ /BackupFolder/toto/tata/titi/myfile.txt”。 如何在浏览器上测试此服务?例如,如何使用Express格式化此请求? 问题答案: 我尚未测试您的代码,但其他方法可行 如果您想从请求网址获取路径信息 1.如果您获取的URL参数仍然无法读取

  • 问题内容: 这是我希望做的: 我想将ajax请求发送到文件(最好使用jQuery),并且一旦文件被加载,请确定所请求文件的大小。 经过一番谷歌搜索,很显然,我什至对一个正确的问题都不知道要提出这个问题。任何帮助将不胜感激。 问题答案: 您可以发出HTTP HEAD请求,并通过读取Content- Length HTTP标头获得近似的文件大小。 这种请求用于获取有关该请求隐含的URL的元信息,而无需