簡體   English   中英

如何通過URL下載Azure BLOB存儲文件

[英]How to download an Azure BLOB Storage file via URL

我們在Azure存儲上創建了一個文件夾結構,如下所示:

parentcontainer -> childcontainer -> {pdffiles are uploaded here}

我們具有存儲的.pdf文件的URL。 我們不想硬編碼任何容器名稱,只需使用其URL下載文件即可。

我們當前的嘗試是:

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(StorageConnectionString);
CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer cloudBlobContainer = blobClient.GetRootContainerReference();
CloudBlockBlob blockBlob = cloudBlobContainer.GetBlockBlobReference(pdfFileUrl);

var blobRequestOptions = new BlobRequestOptions
{
    RetryPolicy = new NoRetry()
};

// Read content
using (MemoryStream ms = new MemoryStream())
{
    blockBlob.DownloadToStream(ms, null, blobRequestOptions);
    var array = ms.ToArray();
    return ms.ToArray();
}     

但是我們在這里收到“ 400錯誤請求”:

 blockBlob.DownloadToStream(ms, null, blobRequestOptions);

我們如何僅使用URL下載Azure BLOB存儲文件?

GetBlockBlobReference將文件名作為其構造函數而不是URL的參數。

為了通過URL下載Azure BLOB存儲項目,您需要使用該項目的URL自己實例化CloudBlockBlob

var blob = new CloudBlockBlob(new Uri(pdfFileUrl), cloudStorageAccount.Credentials);

然后可以使用您最初發布的代碼下載該blob

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM