Как удалить все файлы в папке хранилища файлов Azure?
Я пытаюсь понять, как удалить все файлы из папки в хранилище файлов Azure.
CloudFileDirectory.ListFilesAndDirectories()
возвращает IEnumerable
из IListFileItem
. Но это не очень помогает, потому что у него нет свойства filename или подобного.
Вот что у меня есть до сих пор:
var folder = root.GetDirectoryReference("myfolder");
if (folder.Exists()) {
foreach (var file in folder.ListFilesAndDirectories()) {
// How do I delete 'file'
}
}
Как я могу изменить IListFileItem
на CloudFile
, чтобы я мог вызвать myfile.Delete()
?
1 ответ:
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 } } }