c# – 如何删除Azure文件存储文件夹中的所有文件?

前端之家收集整理的这篇文章主要介绍了c# – 如何删除Azure文件存储文件夹中的所有文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试如何删除Azure文件存储中的文件夹中的所有文件.

CloudFileDirectory.ListFilesAndDirectories()返回IEnumerable的IListFileItem.但这没有多大帮助,因为它没有文件属性或类似功能.

这是我到目前为止:

var folder = root.GetDirectoryReference("myfolder");

if (folder.Exists()) {
    foreach (var file in folder.ListFilesAndDirectories()) {

        // How do I delete 'file'

    }
}

如何将IListFileItem更改为CloudFile,以便调用myfile.Delete()?

解决方法

@H_502_13@ ListFilesAndDirectories可以返回文件和目录,因此您可以获得这两个文件的基类.然后你可以检查它是什么类型和铸造.请注意,您将要跟踪任何子目录,以便递归删除其中的文件.
var folder = root.GetDirectoryReference("myfolder");

if (folder.Exists())
{
    foreach (var item in folder.ListFilesAndDirectories())
    {         
        if (item.GetType() == typeof(CloudFile))
        {
            CloudFile file = (CloudFile)item;

            // Do whatever
        }

        else if (item.GetType() == typeof(CloudFileDirectory))
        {
            CloudFileDirectory dir = (CloudFileDirectory)item;

            // Do whatever
        }
    }
}

猜你在找的C#相关文章