iOS AFN下载
来源:互联网 发布:唐山震后重建数据 编辑:程序博客网 时间:2024/06/05 00:35
#import "ViewController.h"
#import "AFNetworking.h"
#import
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIView *progressView;
@property (weak, nonatomic) IBOutlet UIProgressView *progress;
@property (weak, nonatomic) IBOutlet UIButton *button;
@end
@implementation ViewController
- (IBAction)ButtonTap:(id)sender {
//使用AFN进行下载
}
- (IBAction)ButtonTapa:(UIButton *)sender {
//指定数据下载到那个文件当中
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES)firstObject];
//声明文件的路径
NSString *moviePath = [cachePath stringByAppendingPathComponent:@"mo.mp4"];
//判断moviePath路径下到底有没有文件
if ([[NSFileManagerdefaultManager]fileExistsAtPath:moviePath]) {
//调用视频播放器播放本地视频
MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURLfileURLWithPath:moviePath]];//NSURL fileURLWithPath:moviePath本地文件的地址
moviePlayer.moviePlayer.scalingMode =MPMovieScalingModeAspectFit;
moviePlayer.moviePlayer.controlStyle =MPMovieControlStyleEmbedded;
moviePlayer.view.frame = CGRectMake(5, 70,self.view.frame.size.width-10, 200);
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
return;
}
//使用AFN进行下载
//创建操作对象//http://live.dl.ltimg.net/livezip/download/5540385469401b10912f7a24?type=mp4
// -1就是不设置超时时间, 一般是30秒
NSURL *url = [NSURLURLWithString:@"http://api.sina.cn/sinago/video_location.json?sf_i=4&video_id=138600506&fromsinago=1&postt=news_video_video_1&from="];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:-1];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperationalloc] initWithRequest:urlRequest];
// 第一个参数 下载文件的路径
// 二 是否接着写入文件, 用来做断点下载
operation.outputStream = [[NSOutputStream alloc]initToFileAtPath:moviePath append:NO];
//这个方法就是下载的过程, 用来做进度条
//第一个参数 本次下载了多少数据
// 二 一共下载了多少数据
// 三 这个文件或者视频, 音频一共有多大
[operation setDownloadProgressBlock:^(NSUInteger bytesRead,long long totalBytesRead, long long totalBytesExpectedToRead) {
//进度条显示进度
self.progress.progress = (float)totalBytesRead/totalBytesExpectedToRead;
}];
//下载完成后的方法
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//调用视频播放器播放本地视频
MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURLfileURLWithPath:moviePath]];//NSURL fileURLWithPath:moviePath本地文件的地址
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"抱歉,下载失败");
}];
//打开这个任务
[operation start];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#import "AFNetworking.h"
#import
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIView *progressView;
@property (weak, nonatomic) IBOutlet UIProgressView *progress;
@property (weak, nonatomic) IBOutlet UIButton *button;
@end
@implementation ViewController
- (IBAction)ButtonTap:(id)sender {
//使用AFN进行下载
}
- (IBAction)ButtonTapa:(UIButton *)sender {
//指定数据下载到那个文件当中
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES)firstObject];
//声明文件的路径
NSString *moviePath = [cachePath stringByAppendingPathComponent:@"mo.mp4"];
//判断moviePath路径下到底有没有文件
if ([[NSFileManagerdefaultManager]fileExistsAtPath:moviePath]) {
//调用视频播放器播放本地视频
MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURLfileURLWithPath:moviePath]];//NSURL fileURLWithPath:moviePath本地文件的地址
moviePlayer.moviePlayer.scalingMode =MPMovieScalingModeAspectFit;
moviePlayer.moviePlayer.controlStyle =MPMovieControlStyleEmbedded;
moviePlayer.view.frame = CGRectMake(5, 70,self.view.frame.size.width-10, 200);
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
return;
}
//使用AFN进行下载
//创建操作对象//http://live.dl.ltimg.net/livezip/download/5540385469401b10912f7a24?type=mp4
// -1就是不设置超时时间, 一般是30秒
NSURL *url = [NSURLURLWithString:@"http://api.sina.cn/sinago/video_location.json?sf_i=4&video_id=138600506&fromsinago=1&postt=news_video_video_1&from="];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:-1];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperationalloc] initWithRequest:urlRequest];
// 第一个参数 下载文件的路径
// 二 是否接着写入文件, 用来做断点下载
operation.outputStream = [[NSOutputStream alloc]initToFileAtPath:moviePath append:NO];
//这个方法就是下载的过程, 用来做进度条
//第一个参数 本次下载了多少数据
// 二 一共下载了多少数据
// 三 这个文件或者视频, 音频一共有多大
[operation setDownloadProgressBlock:^(NSUInteger bytesRead,long long totalBytesRead, long long totalBytesExpectedToRead) {
//进度条显示进度
self.progress.progress = (float)totalBytesRead/totalBytesExpectedToRead;
}];
//下载完成后的方法
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//调用视频播放器播放本地视频
MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURLfileURLWithPath:moviePath]];//NSURL fileURLWithPath:moviePath本地文件的地址
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"抱歉,下载失败");
}];
//打开这个任务
[operation start];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
0 0
- iOS AFN下载
- iOS AFN进行断点下载
- iOS AFN进行断点下载
- iOS AFN
- iOS-AFN
- iOS-利用AFNetworking(AFN 1.x)-实现文件断点下载
- iOS- 利用AFNetworking(AFN) 1.1.0- 实现文件断点下载
- iOS- 利用AFNetworking(AFN) 1.1.0- 实现文件断点下载
- iOS- 利用AFNetworking(AFN) - 实现文件断点下载
- iOS- 利用AFNetworking(AFN) - 实现文件断点下载
- iOS- 利用AFNetworking(AFN) - 实现文件断点下载
- iOS- 利用AFNetworking3.0+(最新AFN) - 实现文件断点下载
- iOS- 利用AFNetworking3.0+(最新AFN) - 实现文件断点下载
- AFN(上传、下载)
- AFN(上传、下载)
- ios使用AFN框架下载文件显示下载百分比带进度条
- ios AFN相关知识
- iOS - ASI与AFN
- 使用 RPi.GPIO 模块的输入(Input)功能
- Centos开发环境搭建
- alpha透明
- java笔记 第四章 Java面向对象编程基础第一部分(类和main方法)
- 软姐之机器学习讲义
- iOS AFN下载
- 131Palindrome Partitioning
- linux命令学习(4)
- JavaScript-CheckBox全选/反选
- poj1005 I Think I Need a Houseboat 水题
- python基础(二)
- 第三天
- NOIP2014 Day1T3 飞扬的小鸟 dp
- Python写爬虫——抓取网页并解析HTML