2015-10-24 47 views
1

我有一個小問題在節點js中下載文件夾。我的問題是,我通過http請求了一個整個文件夾,並且我得到了一個流,但是這個流包含了文件夾和文件。我發現的所有解決方案(如fs.createWriteStream)僅適用於簡單文件而不是整個文件結構。節點js通過HTTP下載文件夾

下面的例子請求我:

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下載整個文件結構並將此結構保存到本地文件系統?

Thnaks :)

回答

1

好吧,我的錯。我通過safari打開這個鏈接,safari auto解壓縮文件。