将文件加载到应用程序本地存储

时间:2015-09-21 07:55:58

标签: ios swift nsfilemanager

是否能够使用Filemanager从服务器加载文档,文章等文件并将其存储在应用程序本地存储中?然后用户如何阅读这些文件?他们有权访问该文件夹吗?

1 个答案:

答案 0 :(得分:1)

按照以下步骤在NSDocumentDirectory

下载和保存文件
// Determine local file path
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"fileName.doc"];   //it could be any file type

// Download and write to file
NSURL *url = [NSURL URLWithString:@"http://www.filePathFromServerLocation.com"];

//and write to file
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];

这样您的文件将保存在filePath,您可以在将来以任何方式使用它。

在iOS中打开文件:

  1. 使用webview

    NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
    NSURL *targetURL = [NSURL fileURLWithPath:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
    [webView loadRequest:request];
    
  2. 使用UIDocumentInteractionController

  3. 查看此ZoomingPDFViewer

  4. 的Apple示例代码