From 9f30f95fbfef77466e49f14bec3382a8131f502a Mon Sep 17 00:00:00 2001 From: Craig Nicholson Date: Fri, 21 Nov 2025 13:03:48 +0200 Subject: [PATCH 1/2] Add JPEG 2000 mime types - As per RFC3745 --- MimeTypes.Tests/ImageTests.cs | 3 +++ MimeTypes.Tests/VideoTests.cs | 1 + MimeTypes/MimeType.Image.cs | 15 +++++++++++++++ MimeTypes/MimeType.Video.cs | 4 ++++ 4 files changed, 23 insertions(+) diff --git a/MimeTypes.Tests/ImageTests.cs b/MimeTypes.Tests/ImageTests.cs index b084fe3..dd4039a 100644 --- a/MimeTypes.Tests/ImageTests.cs +++ b/MimeTypes.Tests/ImageTests.cs @@ -9,6 +9,9 @@ public class ImageTests [TestCase(MimeType.Image.Bmp, "image/bmp")] [TestCase(MimeType.Image.Gif, "image/gif")] [TestCase(MimeType.Image.Jpeg, "image/jpeg")] + [TestCase(MimeType.Image.Jpeg2000, "image/jp2")] + [TestCase(MimeType.Image.Jpeg2000Compound, "image/jpm")] + [TestCase(MimeType.Image.Jpeg2000Extended, "image/jpx")] [TestCase(MimeType.Image.Png, "image/png")] [TestCase(MimeType.Image.SvgXml, "image/svg+xml")] [TestCase(MimeType.Image.Tiff, "image/tiff")] diff --git a/MimeTypes.Tests/VideoTests.cs b/MimeTypes.Tests/VideoTests.cs index e2ab766..4d9a685 100644 --- a/MimeTypes.Tests/VideoTests.cs +++ b/MimeTypes.Tests/VideoTests.cs @@ -6,6 +6,7 @@ namespace Mainwave.MimeTypes.Tests; public class VideoTests { [TestCase(MimeType.Video.H264, "video/h264")] + [TestCase(MimeType.Video.Jpeg2000, "video/mj2")] [TestCase(MimeType.Video.Mp2t, "video/mp2t")] [TestCase(MimeType.Video.Mp4, "video/mp4")] [TestCase(MimeType.Video.Mpeg, "video/mpeg")] diff --git a/MimeTypes/MimeType.Image.cs b/MimeTypes/MimeType.Image.cs index 87073d3..0268f7b 100644 --- a/MimeTypes/MimeType.Image.cs +++ b/MimeTypes/MimeType.Image.cs @@ -29,6 +29,21 @@ public static class Image /// public const string Jpeg = Prefix + "jpeg"; + /// + /// image/jp2 + /// + public const string Jpeg2000 = Prefix + "jp2"; + + /// + /// image/jpm + /// + public const string Jpeg2000Compound = Prefix + "jpm"; + + /// + /// image/jpx + /// + public const string Jpeg2000Extended = Prefix + "jpx"; + /// /// image/png /// diff --git a/MimeTypes/MimeType.Video.cs b/MimeTypes/MimeType.Video.cs index 0024360..7c16d25 100644 --- a/MimeTypes/MimeType.Video.cs +++ b/MimeTypes/MimeType.Video.cs @@ -14,6 +14,10 @@ public static class Video /// public const string H264 = Prefix + "h264"; + /// + /// video/mj2 + /// + public const string Jpeg2000 = Prefix + "mj2"; /// /// video/mp2t From 9966a1201cd0df78071414f094dba0b6d2902a46 Mon Sep 17 00:00:00 2001 From: Craig Nicholson Date: Thu, 12 Mar 2026 12:35:16 +0200 Subject: [PATCH 2/2] Rename constants to follow coding standard --- MimeTypes.Tests/ImageTests.cs | 6 +++--- MimeTypes.Tests/VideoTests.cs | 2 +- MimeTypes/MimeType.Image.cs | 14 +++++++------- MimeTypes/MimeType.Video.cs | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/MimeTypes.Tests/ImageTests.cs b/MimeTypes.Tests/ImageTests.cs index dd4039a..5c322dd 100644 --- a/MimeTypes.Tests/ImageTests.cs +++ b/MimeTypes.Tests/ImageTests.cs @@ -8,10 +8,10 @@ public class ImageTests [TestCase(MimeType.Image.Avif, "image/avif")] [TestCase(MimeType.Image.Bmp, "image/bmp")] [TestCase(MimeType.Image.Gif, "image/gif")] + [TestCase(MimeType.Image.Jp2, "image/jp2")] [TestCase(MimeType.Image.Jpeg, "image/jpeg")] - [TestCase(MimeType.Image.Jpeg2000, "image/jp2")] - [TestCase(MimeType.Image.Jpeg2000Compound, "image/jpm")] - [TestCase(MimeType.Image.Jpeg2000Extended, "image/jpx")] + [TestCase(MimeType.Image.Jpm, "image/jpm")] + [TestCase(MimeType.Image.Jpx, "image/jpx")] [TestCase(MimeType.Image.Png, "image/png")] [TestCase(MimeType.Image.SvgXml, "image/svg+xml")] [TestCase(MimeType.Image.Tiff, "image/tiff")] diff --git a/MimeTypes.Tests/VideoTests.cs b/MimeTypes.Tests/VideoTests.cs index 4d9a685..5b3a4ba 100644 --- a/MimeTypes.Tests/VideoTests.cs +++ b/MimeTypes.Tests/VideoTests.cs @@ -6,7 +6,7 @@ namespace Mainwave.MimeTypes.Tests; public class VideoTests { [TestCase(MimeType.Video.H264, "video/h264")] - [TestCase(MimeType.Video.Jpeg2000, "video/mj2")] + [TestCase(MimeType.Video.Mj2, "video/mj2")] [TestCase(MimeType.Video.Mp2t, "video/mp2t")] [TestCase(MimeType.Video.Mp4, "video/mp4")] [TestCase(MimeType.Video.Mpeg, "video/mpeg")] diff --git a/MimeTypes/MimeType.Image.cs b/MimeTypes/MimeType.Image.cs index 0268f7b..df81ab2 100644 --- a/MimeTypes/MimeType.Image.cs +++ b/MimeTypes/MimeType.Image.cs @@ -25,24 +25,24 @@ public static class Image public const string Gif = Prefix + "gif"; /// - /// image/jpeg + /// image/jp2 /// - public const string Jpeg = Prefix + "jpeg"; + public const string Jp2 = Prefix + "jp2"; /// - /// image/jp2 + /// image/jpeg /// - public const string Jpeg2000 = Prefix + "jp2"; - + public const string Jpeg = Prefix + "jpeg"; + /// /// image/jpm /// - public const string Jpeg2000Compound = Prefix + "jpm"; + public const string Jpm = Prefix + "jpm"; /// /// image/jpx /// - public const string Jpeg2000Extended = Prefix + "jpx"; + public const string Jpx = Prefix + "jpx"; /// /// image/png diff --git a/MimeTypes/MimeType.Video.cs b/MimeTypes/MimeType.Video.cs index 7c16d25..7618694 100644 --- a/MimeTypes/MimeType.Video.cs +++ b/MimeTypes/MimeType.Video.cs @@ -17,7 +17,7 @@ public static class Video /// /// video/mj2 /// - public const string Jpeg2000 = Prefix + "mj2"; + public const string Mj2 = Prefix + "mj2"; /// /// video/mp2t