1. ホーム
  2. node.js

[解決済み] Node.jsのクロスプラットフォームでファイルをダウンロードし、解凍する最も簡単な方法とは?

2023-04-20 10:31:32

質問

ダウンロードと解凍に関する簡単な解決策を探しています。 .zip または .tar.gz ファイルを、どのオペレーティング・システム上のNode.jsでも使用できます。

これが組み込まれているか、私は別のライブラリを使用する必要があるかどうかは不明です。 何かアイデアはありますか? node でダウンロードしたい次の zip ファイルが来たときに、簡単にダウンロードできるように、数行のコードを探しています。 これは簡単でビルトインされているはずなのですが、何も見つかりません。ありがとうございます!

どのように解決するのですか?

Node は gzip と deflate をビルトインでサポートしています。 zlibモジュール :

var zlib = require('zlib');

zlib.gunzip(gzipBuffer, function(err, result) {
    if(err) return console.error(err);

    console.log(result);
});

編集します。 さらに pipe を通して直接データを取得することもできます。 Gunzip (を使って)。 リクエスト ):

var request = require('request'),
    zlib = require('zlib'),
    fs = require('fs'),
    out = fs.createWriteStream('out');

// Fetch http://example.com/foo.gz, gunzip it and store the results in 'out'
request('http://example.com/foo.gz').pipe(zlib.createGunzip()).pipe(out);

tar アーカイブについては、Isaacs の tarモジュール があり、これは npm で使用されています。

2を編集します。 更新された回答は zlib はサポートしません。 zip の形式をサポートしていません。これは gzip .