//
// ViewController.m
// 大文件下载
//
// Created by Mac on 16/1/24.
// Copyright © 2016年 Mac. All rights reserved.
// #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> // 输出流
@property (nonatomic, strong) NSOutputStream *stream; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/videos/minion_15.mp4"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [NSURLConnection connectionWithRequest:request delegate:self]; } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ // response.suggestedFilename ------ 建议文件名,与服务器上的文件名保持一致 // 获得文件路径
NSString *str = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString *file = [str stringByAppendingString:response.suggestedFilename];
NSLog(@"%@",file); // 写入到文件路径,append:YES 表示每次写入都写入当前文件的尾部
self.stream = [[NSOutputStream alloc] initToFileAtPath:file append:YES]; // 如果文件不存在会自己创建一个新的,注意这一步很重要
[self.stream open]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ // 写入文件
[self.stream write:[data bytes] maxLength:data.length];
} - (void)connectionDidFinishLoading:(NSURLConnection *)connection{ // 完成下载,关闭stream
[self.stream close];
self.stream = nil;
NSLog(@"------"); } @end