Azure 存储专用容器 blob 到 MemoryStream
Azure Storage private container blob to MemoryStream
我在运行 兜圈子,试图编写代码,将文件从 Azure 存储专用容器下载到 MemoryStream 中。
到目前为止我有这个...
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri);
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
最后一行出错...
The remote server returned an error: (404) Not Found.
但是,当容器不是私有的时,它将正常工作。
非常感谢任何帮助,谢谢。
请尝试以下代码:
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri, storageCredentials);//added storageCredentials
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
由于容器有Private
ACL,请求需要进行认证。使用 this
constructor of CloudBlockBlob
可以解决这个问题。
我在运行 兜圈子,试图编写代码,将文件从 Azure 存储专用容器下载到 MemoryStream 中。
到目前为止我有这个...
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri);
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
最后一行出错...
The remote server returned an error: (404) Not Found.
但是,当容器不是私有的时,它将正常工作。
非常感谢任何帮助,谢谢。
请尝试以下代码:
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri, storageCredentials);//added storageCredentials
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
由于容器有Private
ACL,请求需要进行认证。使用 this
constructor of CloudBlockBlob
可以解决这个问题。