我是iPhone开发的新手。我想使用url下载pdf,并希望将其存储在本地文件夹中。
这是我的代码:
NSData *d = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://demo.com/ebookapplication/book_pdf/20111108094614hii.pdf"]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.pdf"];
[d writeToFile:path atomically:YES];
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
{
NSString *myPathInfo = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"pdf"];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager copyItemAtPath:myPathInfo toPath:path error:NULL];
}
NSURL *pdfurl = [NSURL fileURLWithPath:path];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:pdfurl];
[detail.bookweb loadRequest:requestObj];//to display data in web view
此代码适用于使用url在Web视图中显示pdf,但它不适用于在本地系统中存储pdf。实际上我想将这些下载的pdf存储在一个文件夹中,并以库格式显示。请帮忙。
答案 0 :(得分:0)
-writeToFile:原子上已将您的文件放在-copyItemAtPath:toPath:方法中指定的文件夹中,因此是多余的。该文档已经在文档目录文件夹中,然后将其复制到同一目录中!我认为这是你的问题。
编辑:
这条线在这里:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.pdf"];
指定您的路径。
您可以NSLog
使用此行:NSLog(@"Document Path = %@", path);
至于你的图书馆评论,它应该不那么难。我的应用程序,基本上已经这样做,连线 AQGridView:https://github.com/AlanQuatermain/AQGridView
来自DITableView的Apple的Docwatcher课程:http://developer.apple.com/library/ios/samplecode/DocInteraction/Listings/Classes_DITableViewController_h.html
一起创建一个应用程序,用于控制文档目录并将文件添加到NSArray,然后由网格显示。一个更简单的方法就是使用DITableViewController,考虑到它可以解决你的问题,只是网格更多的是比萨饼。