object-c 网络(下)

iphone开发网络下(上传下载)

在iphone网络开发中经常会用到上传文件和下载文件的过程,比如头像的上传和升级,还有ipa文件的下载等等。这下都要用到网络的上传和下载。所以这些内容在iphone网络开发中是很重要的,由于前面的blog中说了一些网络开发的基础和异步,同步的问题。上传和下载就是用这些内容进行实际的运用,进一不对网络开发的了解。

          下面就来介绍下上传和下载

                   上传

                            在做iphone客户端的时候首先要有一个服务器后台的上传和下载的服务。这里就不说后台的过程了。

                            在客户端中首先要加入url

                    NSURLurl=[NSURL URLWithString:@"http://localhost:8080/testIphone/fileUpLoad"];

                     这个就不多说了

             

 

          ASIFormDataRequest  *dataRequest=[ASIFormDataRequest requestWithURL:url];

                     在这里我们用一个ASIFormDataRequest 来做request请求。用url来初始化ASIFormDataRequest 这个是请求的根。

            [dataRequest setStringEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingMacChineseSimp)];

                     上面这个是用来设置编码格式

            [dataRequest setFile:@"文件路径" forKey:@"attach"];这个是用来设置你上传的文件是什么

                    

            [dataRequest setDelegate:self];

            [dataRequest setDidFinishSelector:@selector(responseFinish)];

            [dataRequest setDidFailSelector:@selector(responseFailed)];

            [dataRequest startSynchronous];

              当你请求结束后和请求失败后触发的方法。要在你的程序中自己定义。

         下载

              下载比上传要简单,只要你设置url,request,在设置下载路径就可以开始下载了

          NSLog(@"文件下载");

    NSString * path=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES) objectAtIndex:0]; 设置下载的路径

    path=[path stringByAppendingPathComponent:@"test"];

    url=[NSURL URLWithString:@"http://localhost:8080/testIphone/fileUpLoadT.jpg"];

    ASIHTTPRequest *request=[ASIHTTPRequest requestWithURL:url];

    [request setDownloadDestinationPath:path];

         这个是用来把下载的路径加载在request中,到时候下载的文件就在这个下面

    [request setDownloadProgressDelegate:self];

    [request startSynchronous];

         以上就是上次和下载的方法,这些比较简单。

         在iphone开发中网络开发是很重要的,因为iphone是客户端,这样就表示和服务端的通讯是用接口,这样都是用网络通讯开始的。希望这些对大家有点帮助。

你可能感兴趣的:(移动开发)