API图像文件将iPhone上传到Ruby on Rails
我是一名后端Rails开发人员,开发了一个为多个iPhone客户端提供服务的API。我不是iPhone开发者 我需要通过对API的POST请求从客户端接受二进制数据(本例中有几个图像文件) 要获取文件内容(除图像类型以外的文件元数据在此不相关),iPhone开发人员可能会使用哪些工具?我找到了ObjectiveResource(iPhone在Rails上使用)和AsitpRequest。在我找到的这些页面中,没有显示当控制器操作执行时上传的文件将以何种形式出现。它是Ruby文件对象还是Tempfile对象?我不控制iPhone的代码开发,那里有一些跨文化交流的困难,他们到目前为止还没有使用这些建议。如果我能向他们提交更好的信息,我可能会得到更好的数据 该后端应用程序目前正在运行Rails2.3.10,并且很快(在接下来的几周内)可能会转换为Rails3 谢谢,API图像文件将iPhone上传到Ruby on Rails,iphone,ruby-on-rails,image,api,file-upload,Iphone,Ruby On Rails,Image,Api,File Upload,我是一名后端Rails开发人员,开发了一个为多个iPhone客户端提供服务的API。我不是iPhone开发者 我需要通过对API的POST请求从客户端接受二进制数据(本例中有几个图像文件) 要获取文件内容(除图像类型以外的文件元数据在此不相关),iPhone开发人员可能会使用哪些工具?我找到了ObjectiveResource(iPhone在Rails上使用)和AsitpRequest。在我找到的这些页面中,没有显示当控制器操作执行时上传的文件将以何种形式出现。它是Ruby文件对象还是Tempf
CraigObjectiveResource本机不支持文件上载。请尝试将ASIHTTPRequest用于以下代码段:
NSURL *url = [NSURL URLWithString:@"http://localhost:3000/file"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Sample" forKey:@"name"];
[request setFile:... forKey:@"file"];
[request startSynchronous];
有关更多详细信息,请参阅示例页面(发送数据)
文章将被编码为标准的多部分表单文章(就像它来自HTML表单一样)。如果你用回形针来储存你上传的东西,神奇的事情就会发生
NSMutableURLRequest *request =
[[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:urlStr]];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSString* requestDataLengthString = [[NSString alloc] initWithFormat:@"%d", [jsonMessageStr length]];
[request setValue:requestDataLengthString forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPBody:jsonData];
NSURLConnection *theConnection =
[[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];