Требуется ли временное хранилище при выводе изображения в выходной поток? Я получаю "общую ошибку GDI +", которая обычно связана с ошибкой разрешения папки при сохранении изображения в файл.
Единственное, что я делаю с изображением, - это добавляю текст. Я по-прежнему получаю сообщение об ошибке, даже когда выводлю изображение прямо без изменений. Например, это приведет к ошибке:
using (Bitmap image = new Bitmap(context.Server.MapPath("images/stars_5.png")))
{
image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
}
Все работает нормально на моем локальном компьютере под управлением Windows 7 с IIS 7.5 и ASP.NET 2.0. Проблема возникает на сервере QA, который работает под управлением Windows Server 2003 с IIS 6 и ASP.NET 2.0.
Строка, которая выдает ошибку:
image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
Вот трассировка стека:
[ExternalException (0x80004005): A generic error occurred in GDI+.]
System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +378002
System.Drawing.Image.Save(Stream stream, ImageFormat format) +36
GetRating.ProcessRequest(HttpContext context) in d:\inetpub\wwwroot\SymInfoQA\Apps\tools\Rating\GetRating.ashx:54
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75