Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Node.js使用内容处置文件名下载文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用请求模块下载文件,但是当文件名必须来自“Content-Disposition”头时,我不太确定如何将响应管道输出到流.所以基本上,我需要读取响应,直到找到头,然后将其余的管道到该文件名.

示例显示如下:

请求( ‘http://google.com/doodle.png’).pipe(fs.createWriteStream( ‘doodle.png’));

我想做什么(伪代码):

var req = request('http://example.com/download_latest_version?token=XXX');
var filename = req.response.headers['Content-Disposition'];

req.pipe(fs.createWriteStream(file@R_944_8313@);

我可以使用请求回调获取文件名:

request(url,function(err,res,body) {
 // get res headers here
});

但是不会否定使用管道的好处,而不是将下载文件加载到内存中?

解决方法

我正在从雅虎收集图片,并没有使用COntent-disposition标题,而是提取date和content-type标头来构建一个文件名.这似乎足够接近你想要做的事情

var request = require('request'),fs = require('fs');

var url2 = 'http://l4.yimg.com/nn/fp/rsz/112113/images/smush/aaroncarter_635x250_1385060042.jpg';

var r = request(url2);

r.on('response',function (res) {
  res.pipe(fs.createWriteStream('./' + res.headers.date + '.' + res.headers['content-type'].split('/')[1]));

});

忽略我的图片选择请:)

大佬总结

以上是大佬教程为你收集整理的Node.js使用内容处置文件名下载文件全部内容,希望文章能够帮你解决Node.js使用内容处置文件名下载文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。