Dans le développement front-end, nous pouvons rencontrer le besoin de convertir des objets Blob en fichiers. Blob est un type d'objet dans l'API Web qui peut représenter des données binaires arbitraires. Un fichier est une entité avec des attributs tels que le nom de fichier, le type de fichier, la taille du fichier, etc. Nous devons souvent convertir les objets Blob en types de fichiers via le navigateur pour le téléchargement, l'enregistrement et d'autres opérations.
Dans l'environnement Node.js, nous pouvons utiliser le module fs intégré de Node pour effectuer des opérations sur les fichiers, et nous pouvons utiliser Buffer pour traiter les données binaires. Par conséquent, nous pouvons convertir l'objet Blob en fichier en convertissant l'objet Blob en Buffer, puis utiliser le module fs pour écrire le Buffer dans le fichier.
Les étapes spécifiques de mise en œuvre sont les suivantes :
let blob = new Blob([arrayBuffer], { type: 'image/png' });
Un objet Blob contenant des données binaires est créé ici.
const buffer = Buffer.from(await blob.arrayBuffer());
La méthode arrayBuffer() de Blob est utilisée ici pour obtenir des données binaires puis les convertir en Buffer.
fs.writeFile('test.png', buffer, (err) => { if (err) throw err; console.log('The file has been saved!'); });
Ici, le Buffer est écrit dans un fichier nommé "test. png", S'il y a une erreur lors de l'écriture du fichier, une exception sera levée, sinon "Le fichier a été enregistré !" sera affiché sur la console.
Le code complet est le suivant :
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');
Ce code permet de télécharger le fichier image sur le serveur distant vers le local et de l'enregistrer sous le fichier "test.png".
Résumé :
Cet article présente comment convertir des objets Blob en fichiers Dans l'environnement Node.js, nous pouvons utiliser les modules Buffer et fs pour réaliser cette fonction. Cette méthode est très utile lorsque nous devons convertir l'objet Blob du front-end en fichier, ou lorsque nous devons traiter des données binaires et les enregistrer sous forme de fichier dans l'environnement Node.js.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!