c# - 使用 Web 服务保存图像时出现一般错误

标签 c# asp.net web-services asmx web-hosting

我用 C# 开发了一个 WebService 应用程序,用于将 5kb jpeg 图像上传到它的目录。 当我在 Somee.com 中运行我的 Web 服务时,它工作正常,我可以使用该 Web 服务上传文件。但最近我的合作伙伴从他的专用服务器为我提供了一个虚拟主机帐户,我将网络服务上传到它,网络服务工作正常,除了用于上传图像的网络方法。当我尝试上传图片时,它总是给我以下错误

Server was unable to process request.-->  A generic error occured in GDI+ 

WebMethod 将图像的 BiteArray 作为参数,然后它将 bite 数组转换回图像,然后创建该图像的 NewInstance 并处理前一个图像。接下来它将图像保存到位于 WebService 目录中的名为“MyFileUploads”的文件夹中。

请告诉我为什么会收到此错误以及修复它的方法。任何帮助将不胜感激。

最佳答案

根据这个http://msdn.microsoft.com/en-us/library/windows/desktop/ms533798(v=vs.85).aspx GDI+ 不应在服务环境中使用。这可以解释您遇到的错误。 .NET Image 类基本上是 Windows GDI+ API 的包装器。

至于解决方案,您有两个选择:

1) 你没有提到你正在做任何类型的图像处理,你只是将图像保存到一个目录中。您是否尝试过将字节数组直接保存到输出文件?

2) 如果需要处理图像,请尝试使用不使用 GDI+ 的第三方图像库。我找到了 https://code.google.com/p/aforge/对这种事情非常好。

关于c# - 使用 Web 服务保存图像时出现一般错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143513/

相关文章:

c# - 哪个更好更便宜 : class matching vs exception?

c# - 使用 goto 大小写(变量);在 C# 开关中

asp.net - ASP :repeater - headers at section change

c# - 如何在 ASP.NET 中保护将发送的电子邮件分类为垃圾邮件

Java WebService : String XML SAX reading/writing, 不是通过文件

c# - 无法使用 Graph 创建草稿,但直接发送邮件可以正常工作

C# - 获取最近创建的文件名

c# - 根据数据列表中的列结果将复选框设置为选中/取消选中

android - 无法从android项目模拟器调用web服务方法

java - 需要 : Tomcat + Axis2 + JAX-WS guide for dummies