Когда объект Bitmap или объект Image создается из файла, файл остается заблокированным в течение всего времени существования объекта.В результате вы не можете изменить изображение и сохранить его обратно в тот же файл, в котором оно было создано.http://support.microsoft.com/?id=814675
Произошла общая ошибка в GDI +, JPEG-изображении в MemoryStream:
Image.Save(..) // throws a GDI+ exception because the memory stream is closed
http://alperguc.blogspot.in/2008/11/c-generic-error-occurred-in-gdi.html
РЕДАКТИРОВАТЬ: Просто запись изобъем памяти.Сохранение в «посреднике» MemoryStream
должно работать:
Например, замените это:
Bitmap newBitmap = new Bitmap(thumbBMP);
thumbBMP.Dispose();
thumbBMP = null;
newBitmap.Save("~/image/thumbs/" + "t" + objPropBannerImage.ImageId, ImageFormat.Jpeg);
на что-то вроде:
string outputFileName = "...";
using (MemoryStream memory = new MemoryStream())
{
using (FileStream fs = new FileStream(outputFileName, FileMode.Create, FileAccess.ReadWrite))
{
thumbBMP.Save(memory, ImageFormat.Jpeg);
byte[] bytes = memory.ToArray();
fs.Write(bytes, 0, bytes.Length);
}
}