From 7a54c3fea708f25303c27630ae2bc8101b9390c3 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 27 Apr 2021 18:52:57 +0800 Subject: refactor: ... --- .../Timeline/Services/Imaging/ImageValidator.cs | 53 ---------------------- 1 file changed, 53 deletions(-) delete mode 100644 BackEnd/Timeline/Services/Imaging/ImageValidator.cs (limited to 'BackEnd/Timeline/Services/Imaging/ImageValidator.cs') diff --git a/BackEnd/Timeline/Services/Imaging/ImageValidator.cs b/BackEnd/Timeline/Services/Imaging/ImageValidator.cs deleted file mode 100644 index b4ae68dc..00000000 --- a/BackEnd/Timeline/Services/Imaging/ImageValidator.cs +++ /dev/null @@ -1,53 +0,0 @@ -using SixLabors.ImageSharp; -using SixLabors.ImageSharp.Formats; -using System; -using System.Linq; -using System.Threading.Tasks; - -namespace Timeline.Services.Imaging -{ - public interface IImageValidator - { - /// - /// Validate a image data. - /// - /// The data of the image. Can't be null. - /// If not null, the real image format will be check against the requested format and throw if not match. If null, then do not check. - /// If true, image must be square. - /// The format. - /// Thrown when is null. - /// Thrown when image data can't be decoded or real type does not match request type or image is not square when required. - Task Validate(byte[] data, string? requestType = null, bool square = false); - } - - public class ImageValidator : IImageValidator - { - public ImageValidator() - { - } - - public async Task Validate(byte[] data, string? requestType = null, bool square = false) - { - if (data == null) - throw new ArgumentNullException(nameof(data)); - - var format = await Task.Run(() => - { - try - { - using var image = Image.Load(data, out IImageFormat format); - if (requestType != null && !format.MimeTypes.Contains(requestType)) - throw new ImageException(ImageException.ErrorReason.UnmatchedFormat, data, requestType, format.DefaultMimeType); - if (square && image.Width != image.Height) - throw new ImageException(ImageException.ErrorReason.NotSquare, data, requestType, format.DefaultMimeType); - return format; - } - catch (UnknownImageFormatException e) - { - throw new ImageException(ImageException.ErrorReason.CantDecode, data, requestType, null, null, e); - } - }); - return format; - } - } -} -- cgit v1.2.3