保存图像时 GDI+ 中出现一般错误

A generic error occured in GDI+ while saving image

我必须在 post 请求中以 byte64String 格式保存图像 当我保存该图像时,我得到 A generic error occurred in GDI+

这是我的代码

byte[] ix = Convert.FromBase64String(obj.Image);

var ID = obj.Id;

using (var mStream = new MemoryStream(ix))
{
var img = Image.FromStream(mStream);

var image = obj.ImageName + ".jpg";
string path = HostingEnvironment.MapPath("/Images/" + ImageType + "/" + ID + "/" + image);
System.IO.Directory.CreateDirectory(path);


try
{
   img.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);

}
catch (Exception e)
{
var d = e;
}
}

还有 这不是权限问题,因为我可以在同一目录中创建文本文件

很简单,您混淆了路径和文件名。

这个问题可能会引起猜测,您可能有一个文件夹是您的文件名,并且您正在尝试保存同名文件,windows 禁止

您的代码已调整

var image = $"{obj.ImageName }.jpg";

// get the path, and only the path
string path = HostingEnvironment.MapPath($"/Images/{ImageType}/{ID}/");

// Create directory if needed (from that path)
Directory.CreateDirectory(path,image);

...

// now create the correct full path    
var fullPath = Path.Combine(path,fileName);

// save
img.Save(fullPath, ImageFormat.Jpeg);