Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将文件加载到应用程序本地存储_Ios_Swift_Nsfilemanager - Fatal编程技术网

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

Ios 将文件加载到应用程序本地存储,ios,swift,nsfilemanager,Ios,Swift,Nsfilemanager,是否能够从服务器加载文档、文章等文件,并使用Filemanager将它们存储在应用程序本地存储中?那么用户如何读取这些文件呢?他们有权访问该文件夹吗?按照以下步骤下载文件并保存到NSDocumentDirectory // Determine local file path NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *file

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

按照以下步骤下载文件并保存到
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中打开文件:

  • 使用
    webview

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

  • 看看这个苹果的示例代码


  • 当然,你可以下载任何类型的文件,并将其保存在documents目录中供任何人使用,如果我在我的应用程序中添加一个功能,用户可以从服务器加载书籍,他如何在没有我的应用程序的情况下打开这本书?例如,在某个阅读器应用程序中打开一本书。如果它是一个
    pdf
    文件,iOS可以在应用程序或iBooks应用程序中自动打开它。。我需要有关您的服务器文件的更多信息。在服务器上只有照片、文档、docx文件和pdf。您可以使用
    UIDocumentInteractionController
    以本机方式打开文件。因此,没有我的应用程序就无法访问这些文件?就像Android中的filemanager。