如何上传和下载iphone服务器上的数据(ios)
问题描述:
我正在研究名为“Messanger”的应用程序。如何上传和下载iphone服务器上的数据(ios)
我的任务是上传和和服务器下载数据.. 我是新来这个,所以我不知道该怎么做。
- 我想与服务器(上传)共享数据
- 我想从服务器(下载)获取数据
谁能帮我这个? 我需要此代码。
在此先感谢..
答
你可以使用官方sdk提供的类。
0)通用部分。
首先您应该创建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)实现要紧的委托方法。最后你应该实现你需要的代理方法。例如,在方法- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
中,您将合并收到的数据,在方法- (void)connectionDidFinishLoading:(NSURLConnection *)connection
和- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
中,您应该处理收到的数据。
有关,你可以实现接收有关您的Internet连接的更多信息,并处理不同的处理(如身份验证,响应代码等)中的所有方法的完整列表请参考官方文档:NSURLConnection
这是一个伟大的答案,但是,有一个技术不准确。内容长度是字节数,而不是字符数。请允许我进行更改。 (参考:http://stackoverflow.com/a/2773411/456434) – Mazyod
@Mazyod谢谢你的版本! – Nekto