在我的应用程序中,我需要允许用户浏览存储在本地或文档目录中的iPhone中的一些PDF文件。
想要放一个按钮,当用户单击该按钮,它显示pdf文件,并附加该文件,并将其发送到服务器。[例如:在gmail中附加文档].
我怎样才能做到这一点。帮助我。谢谢。
在viewdidload/////中下载文档目录下的pdf文件
NSString *stringURL = @"http://www.khazanah.com.my/khazanah/files/20/200f21f3-07ff-4903-ab99-7c0cb557eb51.pdf";
NSURL *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.pdf"];
NSLog(@"filePath %@",filePath);
[urlData writeToFile:filePath atomically:YES];
}
在文档目录中获取文件
-(IBAction)favbtnClicked:(id)sender
{
NSString *searchFilename = @"filename.pdf"; // name of the PDF you are searching for
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory];
NSString *documentsSubpath;
while (documentsSubpath = [direnum nextObject])
{
if (![documentsSubpath.lastPathComponent isEqual:searchFilename]) {
continue;
}
NSLog(@"found %@", documentsSubpath);
}
}
documentsSubpath在字符串得到的pdf文件,我如何在UICollectionView显示。帮助我。
- 添加这个委托方法:UIDocumentInteractionControllerDelegate
-
像这样使用:
UIDocumentInteractionController *viewer = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path_of_doc]];view .delegate = self;(观众presentPreviewAnimated:是的),
希望这对你有帮助。如果您想从应用程序本身下载文件并将其存储在doc dir中,请告诉我。
首先,您需要获取目录中可用文件的列表,
-
这个方法可以帮助你找到指定路径上的文件。
-(NSArray *)listAllFileAtPath:(NSString *)path{ //----LIST OF AVAILABLE FILES----// int count; NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL]; return directoryContent;}
-
现在你可以过滤pdf文件,然后你可以使用下面的链接附加文件和发送电子邮件。
-
点击此链接iOS Email附件