我正在使用Request模块下载文件,但是当文件名必须来自'Content-Disposition'标题时,我不太确定如何将响应传递给输出流.基本上,我需要读取响应,直到找到标头,然后将其余部分传递给该文件名.
示例显示如下:
request('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(filename));
Run Code Online (Sandbox Code Playgroud)
我可以使用Request回调获取文件名:
request(url, function(err, res, body) {
// get res headers here
});
Run Code Online (Sandbox Code Playgroud)
但这不会否定使用管道的好处而不是将下载的文件加载到内存中吗?