我将图像保存到文件夹时出现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;
}
}
从上面我可以看到你正在传递文件夹路径。相反,你必须传递文件名。
试着改变
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