C# GDI+;中发生一般性错误;

C# GDI+;中发生一般性错误;,c#,asp.net,gdi+,C#,Asp.net,Gdi+,GDI中发生一般性错误+ [外部异常(0x80004005):GDI+中发生一般错误。] System.Drawing.Image.Save(流、ImageCodeInfo编码器、EncoderParameters encoderParams)+615257 我有一个网页,其中pdf转换为png,并使用response.outputstream 它被显示。当我在我的本地机器上运行时,它工作正常。但当我在服务器上运行相同的代码时,会引发此异常 我的问题是,我可以在哪里寻找错误。因为没有提供内部异常

GDI中发生一般性错误+

[外部异常(0x80004005):GDI+中发生一般错误。] System.Drawing.Image.Save(流、ImageCodeInfo编码器、EncoderParameters encoderParams)+615257

我有一个网页,其中pdf转换为png,并使用response.outputstream 它被显示。当我在我的本地机器上运行时,它工作正常。但当我在服务器上运行相同的代码时,会引发此异常

我的问题是,我可以在哪里寻找错误。因为没有提供内部异常或任何其他信息。唯一的线索是它发生在Image.Save上,但同样的代码在我的本地机器上运行得非常好,那么它在生产中不工作吗

这就是我下面的例子。请看一下文档中的“注意”注释。当您在服务流程中使用用于桌面处理的东西时,可能会发生各种奇怪的事情


检查权限、路径存在性、框架版本等常见问题。

我不久前也有类似的问题。。。通常与安全有关。不要从dev复制png(如果您有),服务器可能无法覆盖,并确保asp进程对您试图保存到的目录具有写访问权

可能是asp.net工作进程没有权限创建您试图在服务器上保存映像的文件。

我将映像重载方法更改为

Image.Save(context.HttpContext.Response.OutputStream、ImageCodecInfo编码器、EncoderParameters encoderParams)

前面我使用的是Image.Save(context.HttpContext.Response.OutputStream,ImageFormat)


更改save的重载方法后,它修复了错误

这对我很有效。写入MemoryStream,然后将MemoryStream写入输出。推理和代码如下:

我以管理员身份在Windows 7计算机上安装了我的应用程序


这对我很有效。

当文件已经存在时,这种情况就发生了。保存前删除该文件解决了此问题。多么令人难以置信的毫无帮助的错误消息

您忘记问问题了。Image.Save(context.HttpContext.Response.OutputStream,ImageFormat);这就是我正在向输出流写入的内容。链接似乎已断开。这里有一个新的: