【问题标题】:How to upload and download data on server in iphone(ios)如何在 iphone(ios) 中的服务器上上传和下载数据
【发布时间】:2011-11-10 12:54:39
【问题描述】:

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

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

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

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

在此先感谢..

【问题讨论】:

    标签: ios http upload download nsurlconnection


    【解决方案1】:

    您可以使用官方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 方法中,您应该处理接收到的数据。

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

    【讨论】:

    • 这是一个很好的答案,但是,有一个技术上的不准确之处。内容长度是字节数,而不是字符数。请允许我进行更改。 (参考:stackoverflow.com/a/2773411/456434
    【解决方案2】:

    您可以使用ASIHttpRequest 库。例子很多,希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2016-11-10
      • 2013-08-03
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多