【发布时间】:2020-03-27 17:41:32
【问题描述】:
我正在尝试重命名 azure blob 存储中的容器。我能够成功重命名容器。但我注意到在某些情况下,在某些过程中。我遇到了一些错误。
这是错误信息。
System.InvalidCastException: '无法转换类型的对象 'Microsoft.WindowsAzure.Storage.Blob.CloudBlobDirectory' 键入 'Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob'。'
下面是我的代码。
string ContainerName = "old-container-name";
string NewContainerName = "new-container-name";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(ContainerName);
CloudBlobContainer destcontainer = blobClient.GetContainerReference(NewContainerName);
destcontainer.CreateIfNotExists(BlobContainerPublicAccessType.Blob);
IEnumerable<IListBlobItem> IE = container.ListBlobs(blobListingDetails: BlobListingDetails.Metadata);
foreach (IListBlobItem item in IE)
{
CloudBlockBlob blob = (CloudBlockBlob)item;
CloudBlockBlob destBlob = destcontainer.GetBlockBlobReference(blob.Name);
destBlob.StartCopyAsync(new Uri(GetSharedAccessUri(blob.Name, container)));
}
我在这一行收到错误:
CloudBlockBlob blob = (CloudBlockBlob)item;
你们有解决这个问题的办法吗?有关如何解决此问题的任何提示?
【问题讨论】:
标签: c# asp.net azure azure-blob-storage