IOS开发入门之iOS 网络篇--PDF网络文件下载和打开
凌雪 2018-09-10 来源 :网络 阅读 699 评论 0

摘要:本文将带你了解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频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程