NodeJs:从tar响应到tar.Extract的管道tar文件?

时间:2013-11-18 13:32:14

标签: node.js stream pipe httpresponse tar

以下任务:

我们有一个nodejs客户端(守护进程)从Amazon S3下载包含在tar文件(NOT tar.gz - 它确实是未压缩的!)中的音频数据。

目前,我们将响应的“数据”处理程序中的块粘合在一起,将整个缓冲区作为文件保存到光盘,然后在新创建的文件上调用tar.Extract(inPath,outPath)。

我想跳过将数据写入光盘的过程,而是将响应中的数据直接传递给tar.Extract()。

这是我的处理程序代码:

var readResponseData = function (response) {
    response.setEncoding('binary');
    response.pipe(tar.Extract( { path: '/tmp/testyeah' }));
    ....
    ....

我总是得到“错误:无效的tar文件”

我也尝试了这个页面(https://groups.google.com/forum/#!topic/nodejs/A7jz6b9daZc)的建议但没有成功,尽管这应该适用于压缩的tar文件而不是我们使用的未压缩文件。

有什么建议吗?

0 个答案:

没有答案