节点js通过HTTP下载文件夹

我有一个小问题来下载节点js中的文件夹。 我的问题是,我通过http请求整个文件夹,我得到一个stream,但这个stream包含文件夹和文件。 我find的所有解决scheme(如fs.createWriteStream)只适用于简单文件而不是整个文件结构。

下面的示例请求我有:

curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"http://petstore.swagger.io/v2/swagger.json"}' http://generator.swagger.io/api/gen/servers/nodejs 

这个请求得到一个JSON的下载链接(如: http : //generator.swagger.io : 80/api/gen/ download/ 1445674072116 )

如果我点击链接,没有问题立即下载开始下载包含一个文件夹和一个文件。

但是,如果我尝试这个:

  let path = __dirname + '/../api/clients/typescript/'; request(body.link).pipe(fs.createWriteStream(path)) 

我得到以下错误:

 Error: EISDIR: illegal operation on a directory, open 

我想我错了。 知道任何人的解决scheme或有一点提示,通过http下载整个文件结构,并将此结构保存到本地文件系统?

Thnaks 🙂

好,我的错 我通过safari打开这个链接,safari auto解压缩文件。