Я пытаюсь сохранить изображение, который я создал из растрового изображения в заданном пути в моем проекте, но я получаю эту ошибку: Additional information: A generic error occurred in GDI+.
ASP.NET MVC Ошибка при сохранении изображения
Это код:
public void SaveCaptchaImage(string name)
{
Bitmap image = new Bitmap(128, 64);
string path = "/content/images";
if (System.IO.File.Exists(path + name))
System.IO.File.Delete(path + name);
using (Pen myPen = new Pen(Color.Red, 5))
using (Brush myBrush = new SolidBrush(Color.Silver))
using (Font myFont = new Font("Arial", 16))
using (Graphics graphObject = Graphics.FromImage(image))
{
graphObject.FillRectangle(myBrush, new Rectangle(0, 0, 128, 64));
graphObject.DrawString(GetRandomCaptcha(), myFont, myBrush, new Point(20, 20));
image.Save(path + name + ".png", ImageFormat.Png);
}
image.Dispose();
}
исключение происходит на этой линии:
image.Save(path + name + ".png", ImageFormat.Png);
Что я могу сделать, чтобы решить эту проблему?
Редактировать: Я не понимаю, почему я получил downvoted, но хорошо.
Я предлагаю вам всегда использовать 'Path.Combine', чтобы комбинировать пути, а не просто конкатенировать строки, потому что, если' name' не начинается с косой черты, вы закончите с 'image.Save (" pathname.png ", ImageFormat.Png);' а не 'image.Save (" путь/имя.png ", ImageFormat.Png);' – stuartd