CloudinaryDotNet не удаляет папку, если в ней есть ресурсыC#

Место общения программистов C#
Ответить
Гость
 CloudinaryDotNet не удаляет папку, если в ней есть ресурсы

Сообщение Гость »


У меня есть следующий код для удаления папок в Cloudinary с помощью пакета nuget CloudinaryDotNet

с помощью System; используя System.Linq; использование CloudinaryDotNet; использование CloudinaryDotNet.Actions; Программа общественного класса { общественная статическая пустота Main() { var account = new Account("xxxxx", "xxxxx", "xxxxx"); вар экземпляр = новый Cloudinary (учетная запись); DeleteDirectory(экземпляр, «TestFolder/AnotherFolder», true); } public static (путь к строке, имя строки) GetPathAndName(string inputPath) { вар путь = string.Empty; имя вар = string.Empty; если (!string.IsNullOrWhiteSpace(inputPath)) { вар LastIndex = inputPath.LastIndexOf('/'); если (последнийиндекс > -1) { путь = inputPath.Substring(0, LastIndex); имя = inputPath.Remove(0, LastIndex + 1); Console.WriteLine($"{путь} {имя}"); } еще { имя = входной путь; } } возврат (путь, имя); } public static void DeleteFolder (экземпляр Cloudinary, папка папки, рекурсивный логический тип) { экземпляр.DeleteResourcesByPrefix(folder.Path); если (рекурсивный) { вар папкиРезультат = экземпляр.Подпапки(папка.Путь); если (foldersResult.TotalCount > 0) { foreach (var subFolder в папкахResult.Folders) { УдалитьFolder (экземпляр, подпапка, рекурсивно); } } } результат вар = экземпляр.DeleteFolder(folder.Path); Console.WriteLine($"Удаленная папка: {result.StatusCode}"); } общедоступная статическая папка GetFolder (экземпляр Cloudinary, строковый путь) { вар (pathStart, имя) = GetPathAndName (путь); результат вар = экземпляр.SubFolders(pathStart); если (результат.TotalCount > 0) { вернуть результат.Folders.FirstOrDefault(folder =>folder.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)); } вернуть ноль; } public static void DeleteDirectory (экземпляр Cloudinary, строковый путь, рекурсивный логический тип) { папка вар = GetFolder (экземпляр, путь); если (папка != ноль) { Console.WriteLine($"Найдена папка: {folder.Name}"); УдалитьFolder (экземпляр, папка, рекурсивно); } } } Это будет работать нормально, если папка пуста, она будет удалена и вернет статус ОК.

Проблема в том, что если в папке есть изображения, он удалит изображения, но затем выдаст неверный запрос при попытке удалить папку. Если я затем попытаюсь перезапустить его, когда папка пуста, он продолжит выдавать неверный запрос.

Нужно ли мне что-то еще сделать, чтобы удалить папку после того, как в ней есть изображения?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»