我在Azure的容器中创建了一个私有blob。Azure blob从私有公开更改为公开
不幸的是,当我上传文件时,它变为公开。我试图找到一种方法来将文件设置为上传时为私有,因为这可能是问题,但我找不到任何东西。
任何想法,为什么这是?
在上传时,私人文件应该被区别对待吗?
我上传代码:
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
if (file != null)
{
CloudBlockBlob blockBlob = container.GetBlockBlobReference(filename);
blockBlob.UploadFromStream(file.InputStream);
blockBlob.Properties.ContentEncoding = MimeTypes.GetContentType(filename);
if (ht != null)
{
foreach (DictionaryEntry item in ht)
{
blockBlob.Metadata[item.Key.ToString()] = item.Value.ToString();
}
blockBlob.SetMetadata();
}
blockBlob.Metadata["Created"] = DateTime.UtcNow.ToString();
blockBlob.SetProperties();
}
你能分享一些代码吗? –
你的代码看起来对我来说很好。实际上,在blob容器上执行操作的代码中没有任何内容。两件事:1)你说什么私人blob?没有私人团体这样的事情。 ACL(私有/公共)适用于容器级别。你看到容器的ACL从私人变为公共? 2)你能分享创建blob容器的代码吗? –
我的不好。我有一个私人的容器,当我上传一个文件时(至少它在某个时候会改变),这个容器会变成公共的。 我在Azure管理中创建了包含器。 –