【发布时间】:2011-08-03 12:13:08
【问题描述】:
将图像输出到输出流时,是否需要临时存储?将图像保存到文件时,我收到通常与文件夹权限错误相关的“通用 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 的本地机器上一切正常。问题出现在使用 IIS 6 和 ASP.NET 2.0 运行 Windows Server 2003 的 QA 服务器上。
给出错误的行是:
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
【问题讨论】:
-
您是否正在使用任何源代码控制?