ホームページ >ウェブフロントエンド >jsチュートリアル >外部ライブラリを使用せずに Node.js でファイルをダウンロードするにはどうすればよいですか?

外部ライブラリを使用せずに Node.js でファイルをダウンロードするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 09:16:14709ブラウズ

How Can I Download Files in Node.js Without Using External Libraries?

外部ライブラリを使用しない Node.js でのファイルのダウンロード

Node.js でのファイルのダウンロードは、外部ライブラリに依存せずにネイティブに実行できます。

組み込みフェッチ API の使用 (ノード 18)

ノード 18 では、フェッチ API を実装するフェッチ グローバルが導入されています。この API は、テキスト、JSON、バイナリ データなどのデータをダウンロードするメソッドを提供します。例:

const fetch = require('node-fetch');

const url = 'http://example.com/file.jpg';
const response = await fetch(url);
const buffer = await response.arrayBuffer();

fs.writeFileSync('filename.jpg', Buffer.from(buffer));

HTTP GET リクエストの使用 (古いノード バージョン)

ノード 18 よりも前では、HTTP GET リクエストを作成し、その応答をパイプで送信できます。ファイル ストリーム:

const http = require('http');
const fs = require('fs');

const file = fs.createWriteStream('file.jpg');
const url = 'http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg';
const request = http.get(url, (response) => {
  response.pipe(file);
});

// Close file stream after download completes
file.on('finish', () => {
  file.close();
  console.log('Download completed');
});

設定コマンド ライン オプション

ターゲット ファイルや URL の指定などのコマンド ライン オプションが必要な場合は、Commander などのパッケージをカスタマイズに利用できます。

const program = require('commander');

program
  .option('-o, --output <file>', 'Output file name')
  .option('-u, --url <url>', 'URL to download from')
  .parse(process.argv);

const file = fs.createWriteStream(program.output || 'default.jpg');
const request = http.get(program.url, (response) => {
  response.pipe(file);
});

詳細については、情報と代替アプローチについては、次のリソースを参照してください: https://sebhastian.com/nodejs-download-file/

以上が外部ライブラリを使用せずに Node.js でファイルをダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。