我在'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。
感谢您的帮助。
答案 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();