iphone开发网络下(上传下载)
在iphone网络开发中经常会用到上传文件和下载文件的过程,比如头像的上传和升级,还有ipa文件的下载等等。这下都要用到网络的上传和下载。所以这些内容在iphone网络开发中是很重要的,由于前面的blog中说了一些网络开发的基础和异步,同步的问题。上传和下载就是用这些内容进行实际的运用,进一不对网络开发的了解。
下面就来介绍下上传和下载
上传
在做iphone客户端的时候首先要有一个服务器后台的上传和下载的服务。这里就不说后台的过程了。
在客户端中首先要加入url
NSURL*url=[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是客户端,这样就表示和服务端的通讯是用接口,这样都是用网络通讯开始的。希望这些对大家有点帮助。