首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将图像文件从iOS上传到ASP.NET的请求头是什么?

将图像文件从iOS上传到ASP.NET的请求头是什么?
EN

Stack Overflow用户
提问于 2012-04-17 23:57:31
回答 1查看 1.7K关注 0票数 1

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

我已经在NSMutableURLRequest和NSConnection中创建了iOS对象,并验证了.NET服务器组件正在工作的调用。

代码语言:javascript
运行
复制
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对象中。

代码语言:javascript
运行
复制
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];

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

代码语言:javascript
运行
复制
[HttpPost]
public JsonResult UploadMedia(HttpPostedFileBase fileData)
{
 ...
  return Json(@"Success");
}

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

NSMutableURLRequest?

  • What
  1. 需要创建哪些其他HttpHeaderField值?
  2. 如何将图像数据嵌入到.NET组件方法中应该是参数?基于#3中的类型的
  3. 应该如何提取服务器组件中的图像数据?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-18 00:07:59

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

代码语言:javascript
运行
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10200880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档