【发布时间】:2014-03-30 19:57:23
【问题描述】:
我在 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是什么意思?没有私有 blob 这样的东西。 ACL(私有/公共)适用于容器级别。您是否看到容器的 ACL 正在从私有变为公共? 2) 可以分享一下创建blob容器的代码吗?
-
我的错。我有一个私有容器,当我上传文件时它会变为公共容器(至少它会在某个时候发生变化)。我在 Azure 管理中创建了容器。