Ladda ned en blob med JavaScript eller TypeScript
Den här artikeln visar hur du laddar ned en blob med hjälp av Azure Storage-klientbiblioteket för JavaScript. Du kan ladda ned blobdata till olika mål, inklusive en lokal filsökväg, dataström eller textsträng.
Förutsättningar
- Exemplen i den här artikeln förutsätter att du redan har ett projekt konfigurerat för att fungera med Azure Blob Storage-klientbiblioteket för JavaScript. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, import av moduler och skapande av ett auktoriserat klientobjekt för att arbeta med dataresurser finns i Kom igång med Azure Blob Storage och JavaScript.
- Auktoriseringsmekanismen måste ha behörighet att utföra en nedladdningsåtgärd. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärd:
Ladda ned en blob
Du kan använda någon av följande metoder för att ladda ned en blob:
- BlobClient.download
- BlobClient.downloadToBuffer (endast tillgängligt i Node.js runtime)
- BlobClient.downloadToFile (endast tillgängligt i Node.js körning)
Ladda ned till en filsökväg
I följande exempel laddas en blob ned med hjälp av en filsökväg med metoden BlobClient.downloadToFile . Den här metoden är endast tillgänglig i Node.js-körningen:
async function downloadBlobToFile(containerClient, blobName, localFilePath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(localFilePath);
}
Ladda ned som en dataström
I följande exempel laddas en blob ned genom att skapa ett Node.js skrivbart dataströmobjekt och sedan skickas till dataströmmen med metoden BlobClient.download .
async function downloadBlobAsStream(containerClient, blobName, writableStream) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
downloadResponse.readableStreamBody.pipe(writableStream);
}
Ladda ned till en sträng
Följande Node.js exempel laddar ned en blob till en sträng med metoden BlobClient.download . I Node.js returnerar blobdata i en 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);
});
}
Om du arbetar med JavaScript i webbläsaren returnerar blobdata i en löftesblobKropp. Mer information finns i exempelanvändningen för webbläsare på BlobClient.download.
Resurser
Mer information om hur du laddar ned blobar med hjälp av Azure Blob Storage-klientbiblioteket för JavaScript finns i följande resurser.
Kodexempel
Visa kodexempel från den här artikeln (GitHub):
- Ladda ned till fil för JavaScript eller TypeScript
- Ladda ned för att strömma för JavaScript eller TypeScript
- Ladda ned till sträng för JavaScript eller TypeScript
REST API-åtgärder
Azure SDK för JavaScript innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta JavaScript-paradigm. Klientbiblioteksmetoderna för att ladda ned blobar använder följande REST API-åtgärd:
- Hämta blob (REST API)
Klientbiblioteksresurser
Relaterat innehåll
- Den här artikeln är en del av utvecklarguiden för Blob Storage för JavaScript/Typescript. Mer information finns i den fullständiga listan över utvecklarguideartiklar i Skapa din JavaScript/Typescript-app.