Blob letöltése JavaScript használatával
Ez a cikk bemutatja, hogyan tölthet le egy blobot a JavaScripthez készült Azure Storage-ügyfélkódtár használatával. Blobadatokat különböző célhelyekre tölthet le, például helyi fájl elérési útját, streamét vagy szöveges sztringet.
Előfeltételek
- A cikkben szereplő példák feltételezik, hogy már rendelkezik egy projekttel, amely a JavaScripthez készült Azure Blob Storage ügyfélkódtárral dolgozik. Ha szeretne többet megtudni a projekt beállításáról, beleértve a csomagtelepítést, a modulok importálását és egy engedélyezett ügyfélobjektum létrehozását az adaterőforrások használatához, olvassa el az Azure Blob Storage és a JavaScript használatának első lépéseit.
- Az engedélyezési mechanizmusnak rendelkeznie kell a letöltési művelet végrehajtásához szükséges engedélyekkel. További információkért tekintse meg az alábbi REST API-művelet engedélyezési útmutatóját:
Blob letöltése
A blobok letöltéséhez az alábbi módszerek bármelyikét használhatja:
- BlobClient.download
- BlobClient.downloadToBuffer (csak Node.js futtatókörnyezetben érhető el)
- BlobClient.downloadToFile (csak Node.js futtatókörnyezetben érhető el)
Letöltés fájlelérési útvonalra
Az alábbi példa egy blobot tölt le a BlobClient.downloadToFile metódussal egy fájl elérési útján. Ez a módszer csak a Node.js futtatókörnyezetben érhető el:
async function downloadBlobToFile(containerClient, blobName, fileNameWithPath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(fileNameWithPath);
console.log(`download of ${blobName} success`);
}
Letöltés streamként
Az alábbi példa egy blobot tölt le egy Node.js írható streamobjektum létrehozásával, majd a BlobClient.download metódussal a streamhez való pipálással.
async function downloadBlobAsStream(containerClient, blobName, writableStream) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
downloadResponse.readableStreamBody.pipe(writableStream);
console.log(`download of ${blobName} succeeded`);
}
Letöltés sztringre
Az alábbi Node.js példa egy BlobClient.download metódussal rendelkező sztringre tölt le egy blobot. A Node.js blobadatok egy 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());
}
async 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);
});
}
Ha JavaScriptet használ a böngészőben, a blobadatok egy ígéretes blobBody-ban térnek vissza. További információkért tekintse meg a blobClient.download böngészőkre vonatkozó példahasználatát.
Források
Ha többet szeretne megtudni arról, hogyan tölthet le blobokat az Azure Blob Storage JavaScripthez készült ügyfélkódtárával, tekintse meg az alábbi erőforrásokat.
REST API-műveletek
Az Azure SDK for JavaScript olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismert JavaScript-paradigmákon keresztül. A blobok letöltéséhez használt ügyfélkódtár-metódusok a következő REST API-műveletet használják:
- Blob lekérése (REST API)
Kódminták
Kódminták megtekintése ebből a cikkből (GitHub):
Ügyfélkódtár erőforrásai
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: