15

私が取り組んでいる小さなコマンド ライン ツールの Node でファイルをダウンロードするために、優れたRequestライブラリを使用しています。Request は、単一のファイルをプルする場合は完全に機能しますが、まったく問題はありませんが、ZIP では機能しません。

たとえば、次の URL にあるTwitter Bootstrapアーカイブをダウンロードしようとしています。

http://twitter.github.com/bootstrap/assets/bootstrap.zip

コードの関連部分は次のとおりです。

var fileUrl = "http://twitter.github.com/bootstrap/assets/bootstrap.zip";
var output = "bootstrap.zip";
request(fileUrl, function(err, resp, body) {
  if(err) throw err;
  fs.writeFile(output, body, function(err) {
    console.log("file written!");
  }
}

エンコーディングも「バイナリ」に設定しようとしましたが、うまくいきません。実際の zip は ~74KB ですが、上記のコードでダウンロードすると ~134KB になり、Finder でダブルクリックして解凍すると、次のエラーが表示されます。

「bootstrap」を「nodetest」に抽出できません (エラー 21 - ディレクトリです)

これはエンコーディングの問題だと感じていますが、ここからどこに行くべきかわかりません。

4

2 に答える 2