1
我正在构建一个iOS应用程序,我想将图像上传到ASP.NET MVC服务器组件,例如在网页中发布文件。使用什么请求标头将图像文件从iOS上传到ASP.NET?
我在iOS中创建了NSMutableURLRequest和NSConnection对象,并验证了.NET服务器组件正在工作。
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init];
[request setTimeoutInterval:(interval==0?SERVICE_DEFAULT_TIMEOUT_INTERVAL:interval)];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",SERVICE_BASEURL,url]]];
[request setHTTPMethod:@"POST"];
...
的图像数据是在一个NSData对象从AVFoundation模块
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
在服务器中.NET组件控制器的方法是
[HttpPost]
public JsonResult UploadMedia(HttpPostedFileBase fileData)
{
...
return Json(@"Success");
}
目标是传送将图像数据发送到服务器并存储它。我的问题是:
- 还需要创建其他HttpHeaderField值?
- 我应该如何在NSMutableURLRequest中嵌入图像数据?
- .NET组件方法中应该使用什么类型的参数?
- 根据#3中的类型,我应该如何提取服务器组件中的图像数据?
事实证明,与HTML文件来自.NET中的iOS文件时不同,该文件不会自动作为HttpPostedFileBase的实例路由到控制器方法。您必须使用HttpContext.Request.Files属性来访问它。 – ChrisP 2012-04-18 20:20:16
您是不是在.net中遇到这个问题? [InvalidOperationException]:由于对象的当前状态,操作无效。 我读了一些关于它,甚至添加密钥 aspnet:MaxHttpCollectionKeys aspnet:MaxJsonDeserializerMembers 不断得到相同的结果... – dwbrito 2012-09-26 12:54:30