zoukankan      html  css  js  c++  java
  • ios23- 文件下载(同步和异步)

    1.第一步:创建一个单例视图

     

    #import <UIKit/UIKit.h>


    @interface ios23_downViewController : UIViewController<NSURLConnectionDelegate,NSURLConnectionDataDelegate>{

        NSMutableData *connectionData;

        

    }

    -(IBAction)tongbu;

    -(IBAction)yibu;

    @property (nonatomic,retainNSMutableData *connectionData;

    @end

    2

    //

    //  ios23_downViewController.m

    //  ios23-down

    //

    //  Created by  on 13-6-17.

    //  Copyright 2013 __MyCompanyName__. All rights reserved.

    //


    #import "ios23_downViewController.h"


    @implementation ios23_downViewController

    @synthesize connectionData;


    - (void)didReceiveMemoryWarning

    {

        [super didReceiveMemoryWarning];

        // Release any cached data, images, etc that aren't in use.

    }


    #pragma mark - View lifecycle

    -(IBAction)tongbu{

        NSLog(@"同步");

        NSError *err;

        //定义url

        NSString *url=@"http://172.22.65.38/new/1.doc";

        //构建NSURL

        NSURL *fileUrl=[NSURL URLWithString:url];

        //构建nsurlrequest

        NSURLRequest *request=[[NSURLRequest alloc]initWithURL:fileUrl];

        //建立连接

        NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&err];

        if (data.length>0) {

            NSString *savePath=[[NSHomeDirectory()stringByAppendingPathComponent:@"documents"]stringByAppendingPathComponent:@"test.zip"];

            //当数据写入的时候

            if ([data writeToFile:savePath atomically:YES]) {

                NSLog(@"保存成功");

            }else{

                NSLog(@"保存失败");

            }

        }

                    

               

    }

    -(IBAction)yibu{

        NSLog(@"异步");

        NSError *err;

        //定义url

        NSString *url=@"http://172.22.65.38/new/1.doc";

        //构建NSURL

        NSURL *fileUrl=[NSURL URLWithString:url];

        //构建nsurlrequest

        NSURLRequest *request=[[NSURLRequest alloc]initWithURL:fileUrl];

        //建立连接

        NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&err];

        NSURLConnection *conn=[[NSURLConnection alloc]initWithRequest:request delegate:self];

        //初始化connectionData;

        connectionData=[[NSMutableData alloc]init ];

        

    }

    //接受数据

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

        //获取服务器传递的数据

        [connectionData appendData:data];

    }

    //接收数据成功

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

        if (connectionData.length>0) {

            NSString *savePath=[[NSHomeDirectory()stringByAppendingPathComponent:@"documents"]stringByAppendingPathComponent:@"test.zip"];

            //当数据写入的时候

            if ([connectionData writeToFile:savePath atomically:YES]) {

                NSLog(@"保存成功");

            }else{

                NSLog(@"保存失败");

            }

        }}

    //接收数据失败

    -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{}

    - (void)viewDidLoad

    {

        [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    }


    - (void)viewDidUnload

    {

        [super viewDidUnload];

        // Release any retained subviews of the main view.

        // e.g. self.myOutlet = nil;

    }


    - (void)viewWillAppear:(BOOL)animated

    {

        [super viewWillAppear:animated];

    }


    - (void)viewDidAppear:(BOOL)animated

    {

        [super viewDidAppear:animated];

    }


    - (void)viewWillDisappear:(BOOL)animated

    {

    [super viewWillDisappear:animated];

    }


    - (void)viewDidDisappear:(BOOL)animated

    {

    [super viewDidDisappear:animated];

    }


    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    {

        // Return YES for supported orientations

        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);

    }


    @end


  • 相关阅读:
    Integer vs int
    j2ee gradle构建
    ubuntu16.04更新node.js
    阿里云centos7服务器
    使用jdbc给一张表增加多行字段
    安装mysql后,java使用jdbc连接mysql数据库
    关于异常try{}catch(){}
    计算机基础单位
    java mongodb 增删改查 工具类
    java 操作mongodb查询条件的常用设置
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3141054.html
Copyright © 2011-2022 走看看