保存UIWebView在本地显示的PDF
我有一个UIWebView
的UIViewController
,它显示一个PDF文件,取决于哪个行在UITableView
之前被点击。 现在我想为用户添加一个button来保存这个PDF文件在本地离线使用。 然后有第二个UITableView
应该显示保存的pdf的名称,通过点击它另一个UIViewController
出现,并显示在UIWebView
脱机保存的PDF。 什么是一个好的开始? 谢谢
你可以试试这个方法:
1)向包含UIWebView
的View
添加一个button
2)按下button保存UIWebView
显示的文件
(注意:在iOS 5中,您必须保存可轻松重新创build或下载到caching目录的数据)
- (IBAction)buttonPress:(id)sender { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachePath = [paths objectAtIndex:0]; BOOL isDir = NO; NSError *error; //You must check if this directory exist every time if (! [[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) { [[NSFileManager defaultManager] createDirectoryAtPath:cachePath withIntermediateDirectories:NO attributes:nil error:&error]; } NSString *filePath = [cachePath stringByAppendingPathComponent:@"someName.pdf"] //webView.request.URL contains current URL of UIWebView, don't forget to set outlet for it NSData *pdfFile = [NSData dataWithContentsOfURL:webView.request.URL]; [pdfFile writeToFile:filePath atomically:YES]; }
3)在应用程序启动时,您需要检查存储了哪些文件(如果iPhone上没有足够的空间,iOS可以删除caching目录)