我在节点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
此请求返回带有下载链接的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
我想我做错了。知道有人的解决方案或有一点提示要通过http下载整个文件结构并将该结构保存到本地文件系统吗?
感激:)
好的,我的错。我通过safari打开了此链接,然后safari自动解压缩了文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句