Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Muat Turun Fail dalam Node.js Tanpa Menggunakan Perpustakaan Luaran?
Muat Turun Fail dalam Node.js Tanpa Pustaka Luaran
Memuat turun fail dalam Node.js boleh dilakukan secara asli tanpa bergantung pada perpustakaan luaran. Begini caranya:
Menggunakan API Ambil Terbina dalam (Nod 18 )
Node 18 memperkenalkan fetch global yang melaksanakan API Ambil. API ini menyediakan kaedah untuk memuat turun data, termasuk teks, JSON dan data binari. Contohnya:
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));
Menggunakan Permintaan HTTP GET (Versi Nod Lama)
Sebelum Nod 18, anda boleh membuat permintaan HTTP GET dan menghantar responsnya ke aliran fail:
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'); });
Mengkonfigurasi Baris Perintah Pilihan
Jika anda memerlukan pilihan baris perintah seperti menentukan fail sasaran atau URL, anda boleh menggunakan pakej seperti Commander untuk penyesuaian:
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); });
Untuk maklumat lebih terperinci dan pendekatan alternatif, rujuk sumber berikut: https://sebhastian.com/nodejs-download-file/
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Fail dalam Node.js Tanpa Menggunakan Perpustakaan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!