Herunterladen eines Blobs mit JavaScript oder TypeScript
In diesem Artikel wird beschrieben, wie ein Blob mithilfe der Azure Storage-Clientbibliothek für JavaScript heruntergeladen wird. Sie können Blobdaten an verschiedene Ziele herunterladen, einschließlich einen lokalen Dateipfad, einen Stream oder eine Textzeichenfolge.
Voraussetzungen
- Bei den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt eingerichtet haben, das mit der Azure Blob Storage Clientbibliothek für JavaScript arbeitet. Informationen zum Einrichten Ihres Projekts, einschließlich der Paketinstallation, dem Importieren von Modulen und dem Erstellen eines autorisierten Clientobjekts für die Verwendung mit Datenressourcen, finden Sie unter Erste Schritte mit Azure Blob Storage und JavaScript.
- Der Autorisierungsmechanismus muss über Berechtigungen zum Ausführen eines Downloadvorgangs verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:
Herunterladen eines Blobs
Sie können eine der folgenden Methoden verwenden, um ein Blob herunterzuladen:
- BlobClient.download
- BlobClient.downloadToBuffer (nur in der Node.js-Runtime verfügbar)
- BlobClient.downloadToFile (nur in der Node.js-Runtime verfügbar)
Herunterladen in einen Dateipfad
Im folgenden Beispiel wird ein Blob unter Verwendung eines Dateipfads mit der Methode BlobClient.downloadToFile heruntergeladen. Diese Methode ist nur in der Node.js-Runtime verfügbar:
async function downloadBlobToFile(containerClient, blobName, localFilePath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(localFilePath);
}
Herunterladen als Stream
Im folgenden Beispiel wird ein Blob heruntergeladen, indem ein Node.js beschreibbares Streamobjekt erstellt und dann mit der Methode BlobClient.download an diesen Stream geleitet wird.
async function downloadBlobAsStream(containerClient, blobName, writableStream) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
downloadResponse.readableStreamBody.pipe(writableStream);
}
Herunterladen in eine Zeichenfolge
Im folgenden Node.js-Beispiel wird ein Blob mit der Methode BlobClient.download in eine Zeichenfolge heruntergeladen. In Node.js werden Blobdaten in einem readableStreamBody
zurückgegeben.
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);
});
}
Wenn Sie im Browser JavaScript verwenden, werden Blobdaten in einem PromiseblobBody zurückgegeben. Weitere Informationen finden Sie in der Beispielverwendung für Browser unter BlobClient.download.
Ressourcen
Weitere Informationen zum Herunterladen von Blobs mithilfe der Azure Blob Storage-Clientbibliothek für JavaScript finden Sie in den folgenden Ressourcen.
Codebeispiele
Sehen Sie sich Codebeispiele aus diesem Artikel (GitHub) an:
Herunterladen als Datei für JavaScript oder TypeScript
Herunterladen als Datenstrom für JavaScript oder TypeScript
Herunterladen als Zeichenfolge für JavaScript oder TypeScript
REST-API-Vorgänge
Das Azure SDK für JavaScript enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute JavaScript-Paradigmen. Die Methoden der Clientbibliothek zum Herunterladen von Blobs verwenden den folgenden REST-API-Vorgang:
- Get Blob (REST-API)
Ressourcen zur Clientbibliothek
Zugehöriger Inhalt
- Dieser Artikel ist Teil des Blob Storage-Entwicklerleitfadens für JavaScript/TypeScript. Weitere Informationen finden Sie in der vollständigen Liste der Entwicklerleitfäden unter Erstellen Ihrer JavaScript-/TypeScript-App.