如何删除Azure文件夹中的Blob文件

时间:2019-02-21 12:41:38

标签: asp.net-mvc azure-storage azure-storage-blobs

我在Azure中有一个名为“ 870”的blob文件夹,其中包含各种文件夹(请参见下面的快照):

Blob图片:

Blob Pics FYI

我只是尝试仅删除图像,而不删除其他文件夹。但是我不能。我有一个代码,但是它删除了所有内容(请参见下面的快照):

My Code

我只想删除“ 870”文件夹中的图像(.svg),而不是其他文件夹数据以及文件夹。

1 个答案:

答案 0 :(得分:0)

如果您只想删除870文件夹中的图像文件,则应将false方法的参数设置为ListBlobs(),它对我有用。

            foreach (IListBlobItem blob in cloudBlobContainer.GetDirectoryReference("your folder path").ListBlobs(false))
            {

                if (blob.GetType() == typeof(CloudBlockBlob))
                {
                    ((CloudBlockBlob)blob).DeleteIfExists();                    
                }
            }

如果将true方法设置为ListBlobs(),它也会列出870子文件夹中的文件。然后导致子文件夹和其中的文件被删除(因为您在天蓝色的Blob存储中不能有一个空文件夹。

您还可以参考有关参数useFlatBlobListing的官方doc

一个布尔值,它指定是按虚拟目录列出Blob,还是按虚拟目录分层列出Blob。