我在Azure中有一个名为“870”的blob文件夹,其中包含各种文件夹(请参阅下面的快照):
Blob图片:
我只想删除图像,而不是其他文件夹。但我不能。我有一个代码,但它删除了所有内容(见下面的快照):
我想只删除“870”文件夹中的图像(.svg),而不删除其他文件夹数据以及文件夹。
如果您只想删除870文件夹中的图像文件,则应将参数设置为false
for ListBlobs()
方法,它可以在我这边工作。
foreach (IListBlobItem blob in cloudBlobContainer.GetDirectoryReference("your folder path").ListBlobs(false))
{
if (blob.GetType() == typeof(CloudBlockBlob))
{
((CloudBlockBlob)blob).DeleteIfExists();
}
}
如果你为true
方法设置ListBlobs()
,它还会列出870子文件夹中的文件。然后导致其中的子文件夹和文件被删除(因为你不能在azure blob存储中有一个空文件夹)。
你也可以参考这个官方doc关于参数useFlatBlobListing
:
一个布尔值,指定是否在平面列表中列出blob,或者是否按虚拟目录分层列出blob。