我在节点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 :)
答案 0 :(得分:1)
好的,我的错。我通过safari和safari自动解压缩文件打开了这个链接。