我在Azure上的容器中创建了一个私有blob。
不幸的是,当我上传文件时,它会更改为public。我试图找到一种方法在上传时将文件设置为私有,因为这可能是问题,但我找不到任何东西。
为什么会这样?
上传时私人文件应该区别对待吗?
我的上传代码:
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();
}
答案 0 :(得分:0)
代码似乎没问题,请看一下:
How to use Blobs in Windows Azure
您的blob将获得与容器相同的访问权限。
一些额外信息:您似乎使用的是StorageClient Library v1.7。这个不推荐使用,v3.0是推荐版本(StorageClient Library v3.0.0)。
虽然使用本地(测试)计算机上的容器,StorageClient Library v.3.0.0中有issue。