iPhone开发使用NSURLConnection 的小实例

1.在实现下载的类中,需要实现协议:NSURLConnectionDataDelegate  ,并且要有必要的请求链接;需要定义的属性:

     (必须)

    NSMutableData *ReceiveData;

    NSURLConnection *Connection;

    NSURLRequest *Request;

  (可选)

    NSString *httpUrl;(自定义内容)

    NSString *fileName;(自定义内容)

2.在类的实现中:

    ReceiveData=[NSMutableData dataWithCapacity:0];

    ReceiveData.length=0;

    NSURL *url=[NSURL URLWithString:[httpUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    Request=[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:30];

    Connection=[[NSURLConnection alloc]initWithRequest:Request delegate:self];//执行到此时,实现连接后,会自动调用NSURLConnectionDataDelegate中的方法,如下:

3.

//连接响应

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

    fileName = [response suggestedFilename];//若如此做,会自动将文件在网络中的名称自动命名为下载完成后的文件名。

}

//接受数据

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

    [ReceiveData appendData:data];//数据累加

    NSLog(@"%d",data.length);

}

//接受数据完成后

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{

    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *savePath=[NSString stringWithFormat:@"%@/%@.jpg",[paths objectAtIndex:0],fileName];//获得保存路径

    NSLog(@"%@",[paths objectAtIndex:0]);

    [ReceiveData writeToFile:savePath atomically:YES];//写入文件

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值