ios - iphone(ios) 如何在服务器上上传和下载数据

标签 ios http upload download nsurlconnection

我正在开发名为“Messanger”的应用程序。

我的任务是从服务器上传和下载数据.. 我是新手,所以我不知道该怎么做。

  1. 我想与服务器共享数据(上传)
  2. 我想从服务器获取数据(下载)

谁能帮我解决这个问题?? 我需要为此编写代码。

提前致谢..

最佳答案

您可以使用官方sdk中提供的类。

0) 公共(public)部分。

首先你应该创建NSURLRequest。例如,NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"apple.com"]];

1) 上传数据。

当你想发送一些数据时,你可以通过以下方式使用它(例如,发送 xml):

NSString *message = [[NSString alloc] initWithFormat:@"<?xml version=\"1.0\" ?>\n<parameters></parameters>"];
NSData* msgData = [message dataUsingEncoding:NSUTF8StringEncoding];
NSString *msgLength = [NSString stringWithFormat:@"%d",[msgData length]];

[request addValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request addValue:msgLength                         forHTTPHeaderField:@"Content-Length"];
[request setValue:@"iOsApp"                         forHTTPHeaderField:@"User-agent"];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:msgData];
[message release];

2) 下载数据。

现在你应该开始连接了:

[NSURLConnection connectionWithRequest:request delegate:self];

3) 实现必要的委托(delegate)方法。最后你应该实现你需要的委托(delegate)方法。例如,在 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 方法中,您将合并接收到的数据,在方法 - (void)connectionDidFinishLoading:(NSURLConnection * )connection- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 你应该处理收到的数据。

有关您可以实现以接收有关您的互联网连接的更多信息和处理不同过程(如身份验证、响应代码和其他)的所有方法的完整列表,请阅读官方文档:NSURLConnection

关于ios - iphone(ios) 如何在服务器上上传和下载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306916/

相关文章:

ios - 如何在 swift/obj-c 上忽略来自导入框架的警告

html - 为什么 iframe 仅在 iOS 中是空白的?

http - 浏览器扩展是否应该更改它发起的请求的 User-Agent header ?

无法通过教程草图将数据从arduino mega上传到Cosm

ios - 在 NSURLRequest 中检测到不正确的 NSStringEncoding 值 0x0000

ios - 当您使用 AttributedString 单击 href 时是否可以使 UILabel 可单击

java - 从 EC2 访问 UK API

http - 如何从沙盒 Paypal 获取交易ID

node.js - Nodejs 分段文件上传,生成的文件比原始文件大

java - 在 elasticsearch 中存储视频的推荐方式是什么?