0

我正在使用我的 iPhone 访问我的 PHP 服务器中可用的 PDF 文件,并将文件 url 传递给 CGPDFDocumentCreateWithURL。每当我访问将下载到我的 iphone 文档目录的文件时,我的问题是什么?

因为如果我的应用程序处于活动状态一段时间,我会收到错误 CFURLCreateDataAndPropertiesFromResource 错误代码 -14。收到此错误后,我的应用程序没有崩溃,但无法正常运行。

我无法理解内部流程?请帮我解决这个问题?

4

2 回答 2

2

我认为你误解了什么CGPDFDocumentCreateWithURL。它不会将 PDF 文档下载到文件系统。它根据提供的 URL 在内存中创建 PDF。它不会将任何内容保存到文件系统中。

强烈建议您使用网络类(NSURLConnection、ASI 等)先下载 PDF 然后再打开它。这将使您能够提供更好的反馈,并支持更高级的下载功能,例如恢复部分下载、提供进度和更好的线程管理。

于 2011-05-04T11:06:33.177 回答
0

保存 PDF

NSString *urlString = @"http://www.web.com/url/for/document.pdf";

NSURL *url = [NSURL URLWithString:urlString];

NSData *data = [NSData dataWithContentsOfURL:url];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"myLocalFileName.pdf"];

[data writeToFile:pdfPath atomically:YES];

然后将该保存的文件加载到 Web 视图中:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"myLocalFileName.pdf"];

NSURL *url = [NSURL fileURLWithPath: pdfPath];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

[[self mainWebView] loadRequest:request];
于 2011-05-28T09:38:06.180 回答