невозможно обработать изображения .jpg с использованием SixLabors.ImageSharp в c# - Версия 1.0.0-beta0007 - PullRequest
0 голосов
/ 15 января 2020

Я не могу сохранить изображение jpg, используя SixLabors.ImageSharp версия - 1.0.0-beta0007 в c#, выдает ошибку. Есть ли какое-либо решение, чтобы решить проблему с изображениями в формате GIF, PNG, JPEG, BMP.

Исключения бросков:

Невозможно загрузить изображение. Доступные декодеры:

  • GIF: GifDecoder
  • PNG: PngDecoder
  • JPEG: JpegDecoder
  • BMP: BmpDecoder

Код:

    public string ResizeImage(byte[] imageBytes, int height, int width)
    {
        byte[] image = new byte[] { };

        using (MemoryStream inStream = new MemoryStream(imageBytes))
        {
            using (MemoryStream outStream = new MemoryStream())
            {
                using (Image imageSharp = Image.Load(inStream))
                {
                    imageSharp.Mutate(x => x.Resize(width, height));
                    imageSharp.SaveAsJpeg(outStream);
                    imageSharp.Dispose();
                }

                image = outStream.ToArray();
                outStream.Flush();
                inStream.Flush();
            }
        }
        return Convert.ToBase64String(image);
    }

1 Ответ

1 голос
/ 16 января 2020

Это будет из-за странной вещи, которую AWS делает с загрузкой файлов, вы обнаружите, что байт [] на самом деле не является допустимым файлом изображения (проверяется путем сохранения необработанного массива байтов).

Этот ответ на другой вопрос должен помочь вам переконфигурировать AWS, чтобы ваш код работал.

{ ссылка }

...