【问题标题】:Download a file from a specific link and store it in device iOS?从特定链接下载文件并将其存储在设备 iOS 中?
【发布时间】:2014-10-09 20:26:02
【问题描述】:

我目前正在开发一个 iOS 应用程序,其中显示了下载 Excel 工作表的下载链接。我想将该下载的文件保存到我的 iOS 设备上默认存储所有下载的应用程序的位置,以便我以后可以通过我的设备访问它而无需打开应用程序。

就像在 android 设备中一样,文件存储在我的文件中,我们以后可以从中访问它们。

有什么方法可以在 iOS 中实现这一点。

【问题讨论】:

    标签: ios objective-c iphone ios7 ios6


    【解决方案1】:

    您可以直接存储在文档目录中,如下所示

                NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
            NSString *path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"tempfile"]]; // It may change according to your need
    
            NSError * error = nil;
            [imageData writeToFile:path options:NSDataWritingAtomic error:&error];
    

    这里,imageData是我要写入Document目录的数据

    通过保存在文档目录中,您可以从那里获取它

    【讨论】:

      【解决方案2】:
      NSString * str = "Your Url"
       NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:str]
                                                            cachePolicy:NSURLCacheStorageAllowed
                                                        timeoutInterval:20];
              NSURLResponse *response;
              NSError *error;
      
              NSData * data = [NSURLConnection sendSynchronousRequest:request
                                                    returningResponse:&response
                                                                error:&error];
      
                  NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
                  [data writeToFile:filePath atomically:YES];
      

      【讨论】:

        【解决方案3】:

        你可以试一试

        // NSData downloads any file from an URL
        NSURL* url = [NSURL URLWithString:@"http://192.168.0.8/PoweredByMacOSX.gif"];
        NSData* data = [NSData dataWithContentsOfURL:url];
        
        // get the documents directory
        NSArray* pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                            NSUserDomainMask, YES);
        NSString* documentsDir = documentsDirectory = [pathArray objectAtIndex:0];
        NSString* localFile =
                      [documentsDir stringByAppendingPathComponent:@"webfile.png"];
        
        // write the downloaded file to documents dir
        [data writeToFile:localFile atomically:YES];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-22
          • 2019-11-25
          • 2011-01-30
          • 2015-03-22
          • 2021-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多