摘要:本文将带你了解IOS开发入门之iOS 网络篇--PDF网络文件下载和打开,希望本文对大家学ios有所帮助。
本文将带你了解IOS开发入门之iOS 网络篇--PDF网络文件下载和打开,希望本文对大家学ios有所帮助。
iOS 网络篇--PDF网络文件下载和打开
最近的项目要用到一个在线报告的下载,于是完成后自己在理一下思路,大体的实现了我要得需求。
话不多说,直接上代码
首先,取到网络文件的链接,进行判段是否需求再次下载还是直接打开
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #0433ff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #008f00 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; color: #008f00 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #3495af }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; min-height: 15.0px }
span.s1 { }
span.s2 { font: 13.0px "PingFang SC" }
span.s3 { font: 13.0px Menlo }
span.s4 { color: #0433ff }
span.s5 { color: #3495af }
span.s6 { color: #000000 }
span.s7 { color: #b4261a }
span.s8 { color: #008f00 }
span.s9 { font: 13.0px "PingFang SC"; color: #008f00 }
#pragma mark 下载报告
//// 第一步
//是否下载还是打开文件
- (void)downloadPDF:(NSString *)downloadUrl{
NSArray *array = [downloadUrl componentsSeparatedByString:@"/"]; //从字符/中分隔成多个元素的数组
NSString *file = [array lastObject];
if ([self isFileExist:file]) {
//获取Documents 下的文件路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSString *pathString = [path stringByAppendingFormat:@"/%@",file];
NSLog(@"path:%@", pathString);
[self loadDocument:pathString];
}else{
//从新下载
[self downloadFile:downloadUrl];
}
}
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #0433ff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; min-height: 15.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #008f00 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #3495af }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #b4261a }
span.s1 { }
span.s2 { font: 13.0px "PingFang SC" }
span.s3 { color: #0433ff }
span.s4 { color: #3495af }
span.s5 { color: #000000 }
#pragma mark 第二步 判断沙盒中是否存在此文件
-(BOOL) isFileExist:(NSString *)fileName
{
//获取Documents 下的文件路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSString *filePath = [path stringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL result = [fileManager fileExistsAtPath:filePath];
NSLog(@"这个文件已经存在:%@",result?@"是的":@"不存在");
return result;
}
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #008f00 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; min-height: 15.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #0433ff }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #3495af }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #b4261a }
span.s1 { }
span.s2 { font: 13.0px "PingFang SC" }
span.s3 { color: #0433ff }
span.s4 { color: #3495af }
span.s5 { color: #000000 }
span.s6 { color: #b4261a }
span.s7 { color: #008f00 }
span.s8 { font: 13.0px "PingFang SC"; color: #008f00 }
////////// 第三步
//下载PDF
- (void)downloadFile:(NSString *)downLoadUrl{
__weak typeof(self)weakSelf = self;
[self hudTipWillShow:YES];
[DataService downloadTaskWithURL:downLoadUrl completion:^(id result) {
NSLog(@"%@",result);
NSProgress *downloadProgress = result;
if (weakSelf.HUD) {
weakSelf.HUD.progress = downloadProgress.fractionCompleted;
_HUD.labelText = [NSString stringWithFormat:@"%2.f%%",downloadProgress.fractionCompleted*100];
}
} filesPath:^(id filesPath) {
[_rePortDwn setBackgroundImage:[UIImage imageNamed:@"downLoad"] forState:UIControlStateNormal];
// NSLog(@"%@",filesPath);
NSURL*urlString = filesPath;
NSString *string = [urlString absoluteString];
NSArray *array = [string componentsSeparatedByString:@"/"]; //从字符A中分隔成2个元素的数组
NSString *file = [array lastObject];
NSLog(@"filePathName = :%@",file);
[weakSelf hudTipWillShow:NO];
}];
}
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; min-height: 15.0px }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #008f00 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; color: #008f00 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #3495af }
span.s1 { }
span.s2 { font: 13.0px "PingFang SC" }
span.s3 { font: 13.0px Menlo }
span.s4 { color: #0433ff }
span.s5 { color: #3495af }
span.s6 { color: #000000 }
/////// 第四步
//已经下载了的文件用webview显示
-(void)loadDocument:(NSString *)documentName
{
UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 64, kSCREEN_WIDTH, kSCREEN_HEIGHT)];
[self.view addSubview:webView];
NSURL *url = [NSURL fileURLWithPath:documentName];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
最后,直接调用第一步的方法就可以了。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之ios频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号