+ (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]; }]; }
}