From 6c3bb7bd81b68271d1139ae1e5a156dfa5625051 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 21 Jun 2024 20:06:59 -0400 Subject: [PATCH] #94: Corrected file extension being saved in the db --- Controllers/Managers/CoverArtManager.cs | 3 ++- Controllers/Utilities/MetadataRetriever.cs | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) 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();