从特定链接下载文件并将其存储在设备iOS中?

时间:2014-08-16 06:41:03

标签: ios objective-c iphone ios7 ios6

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

与Android设备一样,文件存储在我的文件中,以后我们可以访问它们。

有没有办法在iOS中实现这一目标。

3 个答案:

答案 0 :(得分: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目录中写入的数据

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

答案 1 :(得分:1)

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];

答案 2 :(得分:0)

你可以尝试一次

// 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];