保存图像时 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);
我必须在 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);