0

我在 'b/123?/1.xml' 的一个名为 'a' 的容器中有一个 blob,我无法通过 cloudclient 删除它。

string blobAddressUri = "b/123%3f/1.xml";
var cloudBlobContainer = csa.CreateCloudBlobClient().GetContainerReference("ndrdata");
var blobToDelete = cloudBlobContainer.GetBlobReference(HttpUtility.UrlEncode(blobAddressUri));
            blobToDelete.Delete();

这是我尝试过使用不同变体的代码?与 %3f 相比。而不是 UrlEncoding 字符串。

如果我通过 CloudBerry 生成 SAS uri 然后替换“?”,我可以访问该文件。与 %3f。

谢谢你的帮助。

4

1 回答 1

0

您使用的是什么版本的 Storage Client 库?我使用了 1.7.0 版本,并针对开发存储使用了以下代码,它对我来说效果很好。

            var storage = CloudStorageAccount.DevelopmentStorageAccount;
        string blobAddressUri = "b/123?/MainWindow.xaml";
        var cloudBlobContainer = storage.CreateCloudBlobClient().GetContainerReference("abc");
        var blobToDelete = cloudBlobContainer.GetBlobReference(blobAddressUri);
        blobToDelete.Delete();
于 2012-09-03T05:30:52.467 回答