Abe*_*bel 7 .net web-services file-upload objective-c
我正试图将图像从iphone应用程序发布到.Net webservice,我遇到了这个错误.我已经根据这篇kb文章更新了我的web.config ,我可以成功发布到以字符串为参数的方法.我的问题是尝试使用图像发布数据.我试过这种方式和那种方式发布,但两种方式我最终都会遇到同样的错误:
System.InvalidOperationException: Request format is invalid: multipart/form-data; charset=utf-8; boundary=0xKhTmLbOuNdArY.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
Run Code Online (Sandbox Code Playgroud)
这是我的webservice签名:
[WebMethod]
public XmlDocument UploadImageToServer(string usertoken, byte[] image)
{
//stuff happens in here
}
Run Code Online (Sandbox Code Playgroud)
..这是我最近的尝试:
- (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!");
}
Run Code Online (Sandbox Code Playgroud)
此外,我将我的httpRuntime最大请求长度增加到40MB(<httpRuntime maxRequestLength="40960"/>)只是为了确保问题不是我的图像大小,但错误仍然存在.
任何帮助,将不胜感激.
-一个
小智 6
我通过将它们移动到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" />
Run Code Online (Sandbox Code Playgroud)
它们放在<system.webServer><handlers>web.config 中的部分底部,但是因为我将它们移到顶部它似乎工作!
| 归档时间: |
|
| 查看次数: |
8124 次 |
| 最近记录: |