Azure blob引用名称中带有问号的文件

时间:2012-09-03 04:49:26

标签: c# azure blobstorage

我在'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();

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分: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();