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

Can't access the blob file in sub directory

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

这里是例子。

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

容器名称:横幅

文件名:Local/Homepage/index.html

我上传文件并在 Azure 门户上访问它,但只是访问 link 失败,告诉我找不到资源,但它实际上存在。

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

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);