如何从网上下载PDF文档到我的iPhone应用程序文档文件夹?

时间:2010-09-16 10:51:04

标签: iphone objective-c

如何将PDF文档从网上下载到我的应用文档文件夹?

我想在启动应用程序时从网络上获取一个PDF版本并在应用程序中使用它。它需要复制到Apps Documents文件夹,以便可以从那里使用它,直到再次启动应用程序。显然,我需要检查文档上的日期戳,看看我们是否需要更新它。也许有办法检查PDF元数据的版本号?

2 个答案:

答案 0 :(得分:3)

快速和脏 - 没有错误检查,也没有使用NSURLConnection及其委托协议(如果你想收到错误,进展等通知可能会很好)的好回调。

// fileURL is an NSURL that points to  your pdf file
NSData *fileData = [NSData dataWithContentsOfURL:fileURL];

NSArray *paths =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
NSString *localFilename = [(NSString *)[paths objectAtIndex:0] stringByAppendingPathComponent:@"myPDF"];

[fileData writeToFile:localFilename atomically:YES];

答案 1 :(得分:2)

查看NSURLConnection

的文档

NSURLConnection允许您向网络服务器发出HTTP请求并下载数据。

您应该实施NSURLConnectionDelegate方法。其中一个重要的是connection:didReceiveData: - 在这里,您应该将收到的数据附加到初始化的NSMutableData对象。

最终,在下载完成后,您应该获得connectionDidFinishLoading:回调,然后您可以将下载的数据保存到磁盘。

您可以使用NSSearchPathForDirectoriesInDomains()函数通过传递NSDocumentDirectory常量来获取文档文件夹的路径。

最后,要保存数据,您可以使用writeToFile:atomically:上的NSData方法。