From 7684986fa16cd6246d4929097f76d379f55fc1fe Mon Sep 17 00:00:00 2001
From: Bond-009 <bond.009@outlook.com>
Date: Mon, 27 Jan 2025 05:06:24 +0100
Subject: [PATCH] Use MediaTypeNames where possible (#13440)

---
 .../Images/BaseDynamicImageProvider.cs                    | 5 +++--
 MediaBrowser.Model/Drawing/ImageFormatExtensions.cs       | 8 ++++----
 MediaBrowser.Model/Net/MimeTypes.cs                       | 3 ++-
 .../Manager/ItemImageProviderTests.cs                     | 3 ++-
 4 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/Emby.Server.Implementations/Images/BaseDynamicImageProvider.cs b/Emby.Server.Implementations/Images/BaseDynamicImageProvider.cs
index 0a3d740ccf..8b28691498 100644
--- a/Emby.Server.Implementations/Images/BaseDynamicImageProvider.cs
+++ b/Emby.Server.Implementations/Images/BaseDynamicImageProvider.cs
@@ -7,6 +7,7 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Linq;
+using System.Net.Mime;
 using System.Threading;
 using System.Threading.Tasks;
 using MediaBrowser.Common.Configuration;
@@ -116,9 +117,9 @@ namespace Emby.Server.Implementations.Images
 
             var mimeType = MimeTypes.GetMimeType(outputPath);
 
-            if (string.Equals(mimeType, "application/octet-stream", StringComparison.OrdinalIgnoreCase))
+            if (string.Equals(mimeType, MediaTypeNames.Application.Octet, StringComparison.OrdinalIgnoreCase))
             {
-                mimeType = "image/png";
+                mimeType = MediaTypeNames.Image.Png;
             }
 
             await ProviderManager.SaveImage(item, outputPath, mimeType, imageType, null, false, cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Model/Drawing/ImageFormatExtensions.cs b/MediaBrowser.Model/Drawing/ImageFormatExtensions.cs
index 1c60ba4601..53b9b1fad5 100644
--- a/MediaBrowser.Model/Drawing/ImageFormatExtensions.cs
+++ b/MediaBrowser.Model/Drawing/ImageFormatExtensions.cs
@@ -17,12 +17,12 @@ public static class ImageFormatExtensions
     public static string GetMimeType(this ImageFormat format)
         => format switch
         {
-            ImageFormat.Bmp => "image/bmp",
+            ImageFormat.Bmp => MediaTypeNames.Image.Bmp,
             ImageFormat.Gif => MediaTypeNames.Image.Gif,
             ImageFormat.Jpg => MediaTypeNames.Image.Jpeg,
-            ImageFormat.Png => "image/png",
-            ImageFormat.Webp => "image/webp",
-            ImageFormat.Svg => "image/svg+xml",
+            ImageFormat.Png => MediaTypeNames.Image.Png,
+            ImageFormat.Webp => MediaTypeNames.Image.Webp,
+            ImageFormat.Svg => MediaTypeNames.Image.Svg,
             _ => throw new InvalidEnumArgumentException(nameof(format), (int)format, typeof(ImageFormat))
         };
 
diff --git a/MediaBrowser.Model/Net/MimeTypes.cs b/MediaBrowser.Model/Net/MimeTypes.cs
index e4c0239b85..de087d0e77 100644
--- a/MediaBrowser.Model/Net/MimeTypes.cs
+++ b/MediaBrowser.Model/Net/MimeTypes.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using System.IO;
 using System.Linq;
+using System.Net.Mime;
 using Jellyfin.Extensions;
 
 namespace MediaBrowser.Model.Net
@@ -144,7 +145,7 @@ namespace MediaBrowser.Model.Net
             new("video/x-matroska", ".mkv"),
         }.ToFrozenDictionary(pair => pair.Key, pair => pair.Value, StringComparer.OrdinalIgnoreCase);
 
-        public static string GetMimeType(string path) => GetMimeType(path, "application/octet-stream");
+        public static string GetMimeType(string path) => GetMimeType(path, MediaTypeNames.Application.Octet);
 
         /// <summary>
         /// Gets the type of the MIME.
diff --git a/tests/Jellyfin.Providers.Tests/Manager/ItemImageProviderTests.cs b/tests/Jellyfin.Providers.Tests/Manager/ItemImageProviderTests.cs
index 0d99e9af0e..1ec859223e 100644
--- a/tests/Jellyfin.Providers.Tests/Manager/ItemImageProviderTests.cs
+++ b/tests/Jellyfin.Providers.Tests/Manager/ItemImageProviderTests.cs
@@ -5,6 +5,7 @@ using System.IO;
 using System.Linq;
 using System.Net;
 using System.Net.Http;
+using System.Net.Mime;
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Threading;
@@ -391,7 +392,7 @@ namespace Jellyfin.Providers.Tests.Manager
                 {
                     ReasonPhrase = url,
                     StatusCode = HttpStatusCode.OK,
-                    Content = new StringContent(Content, Encoding.UTF8, "image/jpeg")
+                    Content = new StringContent(Content, Encoding.UTF8, MediaTypeNames.Image.Jpeg)
                 });
 
             var refreshOptions = fullRefresh