什么请求头用于上传图像文件从iOS到ASP.NET?

我正在构build一个iOS应用程序,我想将图像上传到ASP.NET MVC服务器组件,比如在网页中发布文件。

我在iOS中创build了NSMutableURLRequest和NSConnection对象,并validation了.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"]; ... 

图像数据位于AVFoundation模块的NSData对象中

 NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer]; 

在服务器上.NET组件中的控制器方法是

 [HttpPost] public JsonResult UploadMedia(HttpPostedFileBase fileData) { ... return Json(@"Success"); } 

目标是将图像数据传输到服务器并进行存储。 我的问题是:

  1. 还有哪些HttpHeaderField值需要创build?
  2. 我应该如何在NSMutableURLRequest中embedded图像数据?
  3. .NET组件方法中应该是什么types的参数?
  4. 根据#3中的types,我应该如何提取服务器组件中的图像数据?

您可以发布数据使用多部分表单数据。

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:600]; request.HTTPMethod = @"POST"; NSString *boundry = @"---------------AF7DAFCDEFAB809"; NSMutableData *data = [NSMutableData dataWithCapacity:300 * 1024]; [data appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"image.jpg\"\r\n\r\n", @"field name"] dataUsingEncoding:NSUTF8StringEncoding]]; [data appendData:imgdata]; // data upload [data appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [data appendData:[[NSString stringWithFormat:@"--%@\r--\n",boundry] dataUsingEncoding:NSUTF8StringEncoding]]; request.HTTPBody = data;