相关疑难解决方法(0)

Windows Azure共享访问签名始终提供:禁止403

我试图获得单个blob的共享访问签名,然后使用REST api下载blob.但是,我总是得到一个禁止的403错误消息.存储模拟器和云都有.这是我的代码:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("myConnectionStringHere...");

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("containerName");
CloudBlob blob = container.GetBlobReference("blobName");

string sasToken = blob.GetSharedAccessSignature(new SharedAccessPolicy()
            {
                Permissions = SharedAccessPermission.Read,
                SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(24)
            }
            );

string completeUri = string.Format(CultureInfo.InvariantCulture, "{0}{1}", blob.Uri, sasToken);

// now use the uri to make the rest call and download
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(completeUri);
request.Method = "GET";
using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
{
    using (Stream s = resp.GetResponseStream())
        {
            using (FileStream fs = new FileStream("test.jpg", FileMode.Create, FileAccess.Write)) …
Run Code Online (Sandbox Code Playgroud)

azure azure-storage azure-storage-blobs

2
推荐指数
1
解决办法
2738
查看次数

标签 统计

azure ×1

azure-storage ×1

azure-storage-blobs ×1