将图像从 iPhone 发布到 .NET Web 服务时出现“System.InvalidOperationException:请求格式无效:multipart/form-data”错误

2023-11-24

我正在尝试将 iPhone 应用程序中的图像发布到 .Net Web 服务,但遇到了此错误。我已经更新了我的 web.config这篇知识库文章我可以成功发布到以字符串作为参数的方法。我的问题是尝试用图像发布数据。我尝试过发帖this way and that way,但这两种方式我都会遇到同样的错误:

System.InvalidOperationException:请求格式无效: 多部分/表单数据;字符集=utf-8;边界=0xKhTmLbOuNdArY。在 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
在 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

这是我的网络服务签名:


[WebMethod]
public XmlDocument UploadImageToServer(string usertoken, byte[] image)
{ 
   //stuff happens in here
}

..这是我最近的尝试:


- (void)sendImageToServer:(NSURL *)serivceURL withUserToken:(NSString *)usertoken
{
 NSData *imageData = UIImageJPEGRepresentation(self.selectedImage, 1.0f);

 ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:serviceURL] autorelease];
 [request setPostValue:usertoken forKey:@"usertoken"];
 [request setData:imageData forKey:@"image"];
 [request setDelegate:self];
 [request startAsynchronous];

 NSLog(@"We set the request out!");

}

此外,我将 httpRuntime maxrequestlength 增加到 40MB (<httpRuntime maxRequestLength="40960"/>)只是为了确保问题不在于我的图像的大小,但错误仍然存​​在。

任何帮助,将不胜感激。


我通过将这些移动到 web.config 中的行来使其工作:

<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

它们被放置在底部<system.webServer><handlers>web.config 中的部分,但自从我将它们移到顶部后,它似乎可以工作!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图像从 iPhone 发布到 .NET Web 服务时出现“System.InvalidOperationException:请求格式无效:multipart/form-data”错误 的相关文章

随机推荐