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