diff --git a/GSS2.Core/Hardware/ImageStorageService.cs b/GSS2.Core/Hardware/ImageStorageService.cs index f4fce68..26d403c 100644 --- a/GSS2.Core/Hardware/ImageStorageService.cs +++ b/GSS2.Core/Hardware/ImageStorageService.cs @@ -65,6 +65,14 @@ public class ImageStorageService File.Delete(fullPath); _logger.LogInformation("File removed: {}", fileName); + + var parentDirectory = Directory.GetParent(fullPath); + if (parentDirectory?.GetFiles().Count() == 0) + { + parentDirectory.Delete(); + _logger.LogInformation("Empty directory removed: {}", parentDirectory.Name); + } + return true; } @@ -83,7 +91,7 @@ public class ImageStorageService return Path.Combine(_rootDirectory.FullName, subDirectory, level1, level2, fileName); return ListFiles() - .FirstOrDefault(File.Exists); + .FirstOrDefault(f => Path.GetFileName(f) == fileName); } public List ListFiles(string? subDirectory = null)