diff --git a/Controllers/Managers/CoverArtManager.cs b/Controllers/Managers/CoverArtManager.cs index db3387b..7caa8ee 100644 --- a/Controllers/Managers/CoverArtManager.cs +++ b/Controllers/Managers/CoverArtManager.cs @@ -138,8 +138,9 @@ public class CoverArtManager : BaseManager try { + MetadataRetriever metaData = new MetadataRetriever(); var dirMgr = new DirectoryManager(_rootCoverArtPath); - var defaultExtension = ".png"; + var defaultExtension = "." + metaData.FileExtensionType(data); dirMgr.CreateDirectory(song); var segment = cover.GenerateFilename(0); diff --git a/Controllers/Utilities/MetadataRetriever.cs b/Controllers/Utilities/MetadataRetriever.cs index fda7bef..2ab0d29 100644 --- a/Controllers/Utilities/MetadataRetriever.cs +++ b/Controllers/Utilities/MetadataRetriever.cs @@ -95,6 +95,26 @@ public class MetadataRetriever } } + public string FileExtensionType(IFormFile file) + { + using (var fileStream = file.OpenReadStream()) + { + var isRecognizableType = FileTypeChecker.FileTypeValidator.IsTypeRecognizable(fileStream); + + if (!isRecognizableType) + { + return string.Empty; + } + + + var fileType = FileTypeChecker.FileTypeValidator.GetFileType(fileStream); + Console.WriteLine($"Filetype: {fileType}"); + Console.WriteLine($"Extension: {fileType.Extension}"); + + return fileType.Extension; + } + } + public Song RetrieveMetaData(string filePath) { Song song = new Song();