在保存base64image到Image进入文件夹GDI +错误时出现C#Asp.net mvc

问题描述 投票:-2回答:1

我将图像保存到文件夹时出现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;
        }
}
c# asp.net-mvc
1个回答
1
投票

从上面我可以看到你正在传递文件夹路径。相反,你必须传递文件名。

试着改变

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方法,请参阅documentation

© www.soinside.com 2019 - 2024. All rights reserved.