4

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

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

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

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

4

2 回答 2

1

我更改了保存图像的目录的权限。这对我很有帮助,我刚刚授予了我保存图像的目录的读/写权限。

于 2013-06-18T18:00:53.667 回答
1

根据这个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/非常适合这种事情。

于 2013-06-18T17:42:36.303 回答