При сохранении base64image для изображения в папку GDI + произошла ошибка C # Asp.net mvc - PullRequest
0 голосов
/ 11 февраля 2019

Я получаю ошибку GDI + при сохранении изображения в папку. Что не так с приведенным ниже кодом?

[HttpPost]
public ActionResult CoverPhoto(string thumb_values)
{
        var ImageCode = thumb_values.Split(',');
        var imagepart = ImageCode[1];
        imagepart = imagepart.Replace('"', ' ');
        Image ConvertImage = Base64ToImage(imagepart);
        ConvertImage.Save(@"F:\TestFolder" , ImageFormat.Jpeg ); //Error there
        return View();
}

public Image Base64ToImage(string base64String)
{
        // Convert base 64 string to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        // Convert byte[] to Image
        using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
        {
            System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true, true);
            return image;
        }
}

1 Ответ

0 голосов
/ 11 февраля 2019

Из приведенного выше я вижу, что вы передаете путь к папке.Вместо этого вам нужно передать имя файла.

попробуйте изменить

ConvertImage.Save(@"F:\TestFolder\myImage.jpeg" , ImageFormat.Jpeg );

, можете ли вы попробовать этот код.

[HttpPost]
public ActionResult CoverPhoto(string thumb_values)
{
        var ImageCode = thumb_values.Split(',');
        var imagepart = ImageCode[1];
        imagepart = imagepart.Replace('"', ' ');
        byte[] imageBytes = Convert.FromBase64String(imagepart);
        System.IO.File.WriteAllBytes(@"F:\TestFolder\img.jpg" , imageBytes ); 
        return View();
}

Пожалуйста, обратитесь к документации для метода Image.Save

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...