代码之家  ›  专栏  ›  技术社区  ›  Pinu

gdi中发生一般性错误+

  •  2
  • Pinu  · 技术社区  · 15 年前

    gdi中发生一般性错误+

    [外部异常(0x80004005):gdi+中发生一般性错误。] system.drawing.image.save(流、imagecodecinfo编码器、encoderparameters encoderparams)+615257

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

    我的问题是,在哪里我可以发现错误。因为没有内部异常或提供任何其他信息。唯一的线索是它发生在图像上。保存,但是相同的代码在我的本地机器上运行得很好,那么Y不在生产上工作吗????

    http://blog.maartenballiauw.be/post/2008/05/13/ASPNET-MVC-custom-ActionResult.aspx

    这就是我下面的例子

    7 回复  |  直到 8 年前
        1
  •  4
  •   StingyJack    15 年前

    看一看在 System.Drawing 文档。当您在服务过程中使用用于桌面处理的东西时,可能会发生各种奇怪的事情。

    检查权限、路径存在、框架版本等常见情况。

        2
  •  4
  •   Jirka Helmich    9 年前

    这对我很有效。写入到memoryStream,然后将memoryStream写入输出。推理和代码如下: https://weblog.west-wind.com/posts/2006/Oct/19/Common-Problems-with-rendering-Bitmaps-into-ASPNET-OutputStream

        3
  •  3
  •   Pinu    15 年前

    我把图像过载方法改为

    image.save(context.httpcontext.response.outputstream,imagecodecinfo编码器,encoderparameters encoderparams)

    之前我使用的是image.save(context.httpcontext.response.outputstream,imageformat)

    在将重载方法更改为保存后,修复了错误。

        4
  •  1
  •   ЯegDwight kri    13 年前

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

    这对我很有效。

        5
  •  0
  •   PaulB    15 年前

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

        6
  •  0
  •   Coding Flow    15 年前

    可能是ASP.NET工作进程没有权限在服务器上尝试保存图像的位置创建文件。

        7
  •  0
  •   River Satya    12 年前

    当文件已经存在时,这种情况发生在我身上。保存前删除文件解决了问题。多么没用的错误信息。