Bei der Front-End-Entwicklung müssen wir möglicherweise Blob-Objekte in Dateien konvertieren. Blob ist ein Objekttyp in der Web-API, der beliebige Binärdaten darstellen kann. Eine Datei ist eine Entität mit Attributen wie Dateiname, Dateityp, Dateigröße usw. Wir müssen Blob-Objekte häufig über den Browser in Dateitypen konvertieren, um sie hochzuladen, zu speichern und für andere Vorgänge.
In der Node.js-Umgebung können wir das integrierte Modul fs von Node verwenden, um Dateioperationen auszuführen, und wir können Buffer verwenden, um Binärdaten zu verarbeiten. Daher können wir das Blob-Objekt in eine Datei konvertieren, indem wir das Blob-Objekt in einen Puffer konvertieren und dann das fs-Modul verwenden, um den Puffer in die Datei zu schreiben.
Die spezifischen Implementierungsschritte lauten wie folgt:
let blob = new Blob([arrayBuffer], { type: 'image/png' });
Hier wird ein Blob-Objekt erstellt, das Binärdaten enthält.
const buffer = Buffer.from(await blob.arrayBuffer());
Die arrayBuffer()-Methode von Blob wird hier verwendet, um Binärdaten abzurufen und sie dann in einen Puffer umzuwandeln.
fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); });
Hier wird der Puffer in eine Datei mit dem Namen „test“ geschrieben. png“, Tritt beim Schreiben der Datei ein Fehler auf, wird eine Ausnahme ausgelöst, andernfalls wird „Die Datei wurde gespeichert!“ auf der Konsole ausgegeben.
Der vollständige Code lautet wie folgt:
const fs = require('fs'); const fetch = require('node-fetch'); async function downloadFile(url) { const res = await fetch(url); const blob = await res.blob(); const buffer = Buffer.from(await blob.arrayBuffer()); fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); }); } downloadFile('https://www.example.com/test.png');
Dieser Code kann die Bilddatei auf dem Remote-Server auf den lokalen Server herunterladen und als Datei „test.png“ speichern.
Zusammenfassung:
In diesem Artikel wird beschrieben, wie Blob-Objekte in Dateien konvertiert werden. In der Node.js-Umgebung können wir die Module Buffer und fs verwenden, um diese Funktion zu erreichen. Diese Methode ist sehr nützlich, wenn wir das Blob-Objekt im Frontend in eine Datei konvertieren müssen oder wenn wir Binärdaten verarbeiten und als Datei in der Node.js-Umgebung speichern müssen.
Das obige ist der detaillierte Inhalt vonNodejs-Blob in Datei umwandeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!