节点js通过HTTP下载文件夹

时间:2015-10-24 08:29:02

标签: javascript node.js download directory

我在节点js中下载文件夹时遇到了问题。我的问题是,我通过http请求整个文件夹,然后我得到一个流,但这个流包含文件夹和文件。我找到的所有解决方案(如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

此请求通过下载链接(例如:http://generator.swagger.io:80/api/gen/download/1445674072116

返回JSON

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

但如果我试试这个:

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

我收到以下错误:

Error: EISDIR: illegal operation on a directory, open 

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

Thnaks :)

1 个答案:

答案 0 :(得分:1)

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