ホームページ >ウェブフロントエンド >jsチュートリアル >外部ライブラリを使用せずに Node.js でファイルをダウンロードするにはどうすればよいですか?
外部ライブラリを使用しない 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 サイトの他の関連記事を参照してください。