iOS AFNetWorking 下载pdf文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS AFNetWorking 下载pdf文档相关的知识,希望对你有一定的参考价值。

+ (void)downLoadPdf:(NSString *)url pdf_id:(NSString *)pdf_id block:(APIFilePath)pdfFilePath {
    NSMutableDictionary *mPdf_dic = [NSMutableDictionary dictionaryWithDictionary:[Tool getLocalKey:PDFLOCAL_DIC]];
    NSURL *URL = [NSURL URLWithString:url];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
   
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
   
    NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
       
        NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
        NSLog(@"###%@", targetPath);  //原始文件
        NSLog(@"**%@", [response suggestedFilename]);  //文件名
        return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];
       
    } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
        NSLog(@"File downloaded to: %@", filePath);//下载成功后本地保存id以及文件路径
        NSString *stringUrl = [filePath absoluteString];
        mPdf_dic[pdf_id] = stringUrl;
        NSDictionary *pdfDic = [NSDictionary dictionaryWithDictionary:mPdf_dic];
        [Tool saveLocalvalue:pdfDic key:PDFLOCAL_DIC];
        pdfFilePath(stringUrl);
    }];
    [downloadTask resume];
}
 
*********************************************************************************************
查看文档时判断本地是否已经下载
#pragma mark - read
- (void)read {
    //本地已下载pdf文件
    NSDictionary *pdfDic = [Tool getLocalKey:PDFLOCAL_DIC];
    if (pdfDic == nil) {
        [Tool saveLocalvalue:pdfDic key:PDFLOCAL_DIC];
    }
    //文件路径
    NSString *filePathLocal;
    NSString *fileUrl = @"pdf的URL";
    NSString *fileKey = @"1471509244417_1471509259460";
    NSArray *keys = [pdfDic allKeys];
    BOOL isDownload = NO; //是否已经下载
    for (NSString *key in keys) {
        if ([key isEqualToString:fileKey]) {
            isDownload = YES;
            break;
        } else {
            isDownload = NO;
        }
    }
    if (isDownload) {
        filePathLocal = pdfDic[fileKey];
        [self openPdf:filePathLocal];
    } else {
         [WYAPI downLoadPdf:fileUrl pdf_id:fileKey block:^(NSString *filePath) {
             [self openPdf:filePath];
         }];
    }
}

以上是关于iOS AFNetWorking 下载pdf文档的主要内容,如果未能解决你的问题,请参考以下文章

使用 AFNetworking 2.0 下载 PDF 文件

使用 AFNetworking 2.0 下载 PDF

iOS开发篇-AFNetworking网络封装(下载)

iOS开发之旅AFNetworking与SDWebImage下载图片

使用 AFNetworking 下载文件

AFNetworking 无法在 ios iPad 中下载多个 m4a 文件