Heim > Artikel > Web-Frontend > So laden Sie Dateien in NodeJS herunter
In Node.js können Sie Node-Fetch- und FS-Module zum Herunterladen von Dateien verwenden. Hier erfahren Sie, wie Sie diese beiden Module zum Herunterladen von Dateien verwenden.
Zuerst müssen Sie die Module Node-Fetch und FS installieren. Sie können den Befehl npm zum Installieren verwenden:
npm install node-fetch fs
Nach Abschluss der Installation können Sie diese beiden Module verwenden.
Der Vorgang des Herunterladens einer Datei kann in mehrere Schritte unterteilt werden:
const fetch = require('node-fetch'); const fs = require('fs'); const downloadFile = async (url, dest) => { const response = await fetch(url); if (!response.ok) { throw new Error(`failed to download file: ${response.statusText}`); } const fileStream = fs.createWriteStream(dest); await new Promise((resolve, reject) => { response.body.pipe(fileStream); response.body.on("error", (err) => { reject(err); }); fileStream.on("finish", function() { resolve(); }); }); }; const fileUrl = 'https://example.com/files/file.txt'; const destPath = 'file.txt'; downloadFile(fileUrl, destPath) .then(() => { console.log('file downloaded successfully'); }) .catch((err) => { console.error('failed to download file:', err); });Dieser Code verwendet zuerst den Knoten- fetch-Modul zum Senden einer HTTP-Anfrage, um die Dateidaten abzurufen, und dann das fs-Modul verwenden, um die Daten in die Datei zu schreiben. Beachten Sie, dass Sie beim Abrufen der Dateidaten prüfen müssen, ob der HTTP-Antwortstatuscode 200 lautet. Andernfalls ist der Download fehlgeschlagen. Der Code verwendet die asynchrone Syntax async/await und Promise-Objekte, um sicherzustellen, dass die Dateidaten geschrieben werden, bevor das Ergebnis ausgegeben wird. Weitere OptionenDer obige Beispielcode ist nur ein einfaches Beispiel für das Herunterladen einer Datei. Wenn Sie weitere Optionen und Funktionen benötigen, können Sie den Code mit anderen Parametern anpassen.
const headers = { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' }; const response = await fetch(url, { headers: headers });# 🎜🎜#
Download-Geschwindigkeit begrenzen
const speedline = require('speedline'); const fileUrl = 'https://example.com/files/file.txt'; const destPath = 'file.txt'; const maxSpeed = 100; // 100 KB/s const response = await fetch(fileUrl); const stream = response.body; const fileStream = fs.createWriteStream(destPath); await speedline(stream.pipe(fileStream), maxSpeed);
const NodeCache = require('node-cache'); const fileCache = new NodeCache(); const downloadFile = async (url, dest) => { const cachedData = fileCache.get(url); if (cachedData) { return fs.writeFileSync(dest, cachedData); } const response = await fetch(url); if (!response.ok) { throw new Error(`failed to download file: ${response.statusText}`); } const fileData = await response.text(); fileCache.set(url, fileData); fs.writeFileSync(dest, fileData); };
Das obige ist der detaillierte Inhalt vonSo laden Sie Dateien in NodeJS herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!