Télécharger un objet blob avec JavaScript ou TypeScript
Cet article montre comment télécharger un objet blob en utilisant la Bibliothèque de client Stockage Azure pour JavaScript. Vous pouvez télécharger des données blob vers différentes destinations, notamment un chemin d’accès de fichier local, un flux ou une chaîne de texte.
Prérequis
- Les exemples de cet article supposent que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Azure Blob Storage pour JavaScript. Pour en savoir plus sur la configuration de votre projet, y compris l'installation de packages, l'importation de modules et la création d'un objet client autorisé pour travailler avec des ressources de données, consultez Démarrer avec Stockage Blob Azure et JavaScript.
- Le mécanisme d’autorisation doit disposer des autorisations nécessaires pour effectuer une opération de téléchargement. Pour en savoir plus, consultez les conseils d’autorisation pour l’opération d’API REST suivante :
Télécharger un objet blob
Vous pouvez utiliser l’une des méthodes suivantes pour télécharger un objet blob :
- BlobClient.download
- BlobClient.downloadToBuffer (disponible uniquement dans un runtime Node.js)
- BlobClient.downloadToFile (disponible uniquement dans un runtime Node.js)
Télécharger dans un chemin de fichier
L’exemple suivant télécharge un objet Blob en utilisant un chemin d’accès à un fichier avec la méthode BlobClient.downloadToFile. Cette méthode n’est disponible que dans le runtime Node.js :
async function downloadBlobToFile(containerClient, blobName, localFilePath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(localFilePath);
}
Télécharger en tant que flux
L’exemple suivant télécharge un objet Blob en créant un objet de flux accessible en écriture Node.js puis en passant les données à ce flux avec la méthode BlobClient.download.
async function downloadBlobAsStream(containerClient, blobName, writableStream) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
downloadResponse.readableStreamBody.pipe(writableStream);
}
Télécharger dans une chaîne
L’exemple Node.js suivant télécharge un objet blob vers une chaîne de caractères avec la méthode BlobClient.download. Dans Node.js, les données blob sont retournées dans un readableStreamBody
.
async function downloadBlobToString(containerClient, blobName) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
const downloaded = await streamToBuffer(downloadResponse.readableStreamBody);
console.log('Downloaded blob content:', downloaded.toString());
}
function streamToBuffer(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on('data', (data) => {
chunks.push(data instanceof Buffer ? data : Buffer.from(data));
});
readableStream.on('end', () => {
resolve(Buffer.concat(chunks));
});
readableStream.on('error', reject);
});
}
Si vous utilisez JavaScript dans le navigateur, les données blob sont retournées dans un blobBody Promise. Pour plus d’informations, consultez l’exemple d’utilisation pour navigateurs dans BlobClient.download.
Ressources
Pour en savoir plus sur le téléchargement d’objets blob à l’aide de la bibliothèque de client Stockage Blob Azure pour JavaScript, consultez les ressources suivantes.
Exemples de code
Afficher des exemples de code de cet article (GitHub) :
- Télécharger dans un fichier pour JavaScript ou TypeScript
- Télécharger vers le flux pour JavaScript ou TypeScript
- Télécharger vers la chaîne pour JavaScript ou TypeScript
Opérations de l'API REST
Le Kit de développement logiciel (SDK) Azure pour JavaScript contient des bibliothèques qui s'appuient sur l'API REST Azure, vous permettant d’interagir avec les opérations de l’API REST par le biais de paradigmes JavaScript familiers. Les méthodes de bibliothèque de client pour télécharger des objets blob utilisent l’opération d’API REST suivante :
- Get Blob (API REST)
Ressources de bibliothèque cliente
- Documentation de référence sur la bibliothèque cliente
- Code source de la bibliothèque de client
- Package (npm)
Contenu connexe
- Cet article fait partie du guide du développeur Stockage Blob pour JavaScript/Typescript. Pour en savoir plus, consultez la liste complète des articles du guide du développeur sur Générer votre application JavaScript/Typescript.