如何在ios中保存和检索文件到apps temp文件夹

时间:2014-02-26 08:15:08

标签: objective-c ios7

我是IOS开发的新手。我正在开发一个应用程序,它涉及下载文件并将其保存到应用程序临时文件夹,我不知道如何做到这一点我的当前代码在下面给出

NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES];
NSLog(@"%@",tmpDirURL);
NSString *myString = [tmpDirURL absoluteString];
for(int i=0;i<responseArray.count;i++){
    ASIHTTPRequest *saveUrl  = [ASIHTTPRequest requestWithURL:responseArray[i]];
    [saveUrl setDownloadDestinationPath:myString];
    [request startSynchronous];
}
NSError * error;
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myString error:&error];
NSLog(@"%@",directoryContents);

响应数组包含用于下载文件的URL列表。我知道我的代码有问题,但是我发现错误请帮我解决这个问题

2 个答案:

答案 0 :(得分:2)

我找到了解决方案'

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *htmlFilePath = [documentsDirectory  stringByAppendingPathComponent:fileName];
        [data writeToFile:htmlFilePath atomically:YES];

答案 1 :(得分:0)

设置downloadDestinationPath后,此请求的结果将下载到此位置的文件中。如果未设置downloadDestinationPath,则下载数据将存储在内存中

NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES];
NSLog(@"%@",tmpDirURL);
NSString *myString = [tmpDirURL absoluteString];
for(int i=0;i<responseArray.count;i++){
    ASIHTTPRequest *saveUrl  = [ASIHTTPRequest requestWithURL:responseArray[i]];
    [saveUrl setDownloadDestinationPath:[myString stringByAppendingPathComponent:[NSString stringWithFormat:@"%i",i ]]; // for each file set a new location inside tmp
    [request startSynchronous];
}
NSError * error;
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myString error:&error];
NSLog(@"%@",directoryContents);