加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:07:43 所属栏目:百科 来源:网络整理
导读:我正在尝试如何删除Azure文件存储中的文件夹中的所有文件. CloudFileDirectory.ListFilesAndDirectories()返回IEnumerable的IListFileItem.但这没有多大帮助,因为它没有文件名属性或类似功能. 这是我到目前为止: var folder = root.GetDirectoryReference("
我正在尝试如何删除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()?

解决方法

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
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读