我正在尝试将 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(使用前将#替换为@)