Oxy*_*gen 0 c# azure azure-storage azure-storage-blobs
我们在Azure存储上创建了一个文件夹结构,如下所示:
parentcontainer -> childcontainer -> {pdffiles are uploaded here}
Run Code Online (Sandbox Code Playgroud)
我们有存储.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();
}
Run Code Online (Sandbox Code Playgroud)
但是我们在这里收到“ 400错误请求”:
blockBlob.DownloadToStream(ms, null, blobRequestOptions);
Run Code Online (Sandbox Code Playgroud)
我们如何仅使用URL下载Azure BLOB存储文件?
GetBlockBlobReference 将文件名作为其构造函数中的参数而不是URL。
为了通过URL下载Azure BLOB存储项目,您需要CloudBlockBlob使用该项目的URL 实例化自己:
var blob = new CloudBlockBlob(new Uri(pdfFileUrl), cloudStorageAccount.Credentials);
Run Code Online (Sandbox Code Playgroud)
这blob然后可以与您最初发布的代码下载。
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |