无法访问子目录中的blob文件

时间:2015-02-01 16:49:25

标签: azure azure-storage-blobs

Azure blob存储中没有子容器(目录)。我只是在文件名中使用斜杠来获得虚拟子目录。

这是一个例子。

http://apolyonstorage.blob.core.windows.net/banners/Local/Homepage/index.html

容器名称:横幅

文件名:Local / Homepage / index.html

我上传文件并在Azure门户网站上访问它,但只是通过告知资源未找到但实际上存在来访问链接失败。

为什么我在浏览器上通过链接访问它时会失败?

1 个答案:

答案 0 :(得分:2)

blob容器上的ACL是什么?对于可以通过URL直接访问的blob(或者换句话说是匿名访问,blob容器的ACL应该是BlobPublic

您可以使用下面的示例代码更改容器的ACL:

        CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials(StorageAccount, StorageAccountKey), true);
        CloudBlobClient blobClient = account.CreateCloudBlobClient();
        var container = blobClient.GetContainerReference("your-container-name");
        BlobContainerPermissions permissions = new BlobContainerPermissions()
        {
            PublicAccess = BlobContainerPublicAccessType.Blob,//Or BlobContainerPublicAccessType.Container
        };
        container.SetPermissions(permissions);