2011-01-09 110 views
2

我正在獲取約1500圖像的URL,並希望在iPhone的文檔目錄,這些圖像存儲一氣呵成? 請提出任何方法來做到這一點...影像保存到文檔目錄

感謝

+0

我很少在這裏發佈我的查詢....也有人建議我前面......我知道這聽起來很荒謬,但請告訴我如何接受? – devaditya 2011-01-10 04:48:07

+0

單擊綠色複選標記。 – Paul 2011-01-10 17:24:39

回答

3

方法來下載所有的URL並寫入到一個文件:

 - (BOOL) downloadFilefromCDN :(NSString*)filename { 

     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://example.com/getlinks.php"]]]; 
     [request setHTTPMethod:@"GET"]; 

     NSError *err = nil; 
     NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&err]; 
     if (err != nil) { return FALSE; } // Download error 

     NSArray *searchPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *path = [[searchPath objectAtIndex:0] stringByAppendingString:[NSString stringWithFormat:@"/%@",filename]]; 
    if ([data writeToFile:path atomically:YES] != FALSE) { 
     return TRUE; 
    } else { 
     return FALSE; // Error 
    } 

    } 

你需要寫一個腳本,返回包括一個答案1400鏈接,因此您可以將其寫入該文件。

將所有由NSArray *給出的圖像下載到文檔目錄的方法。

- (id) downloadFilefromCDN :(NSString*)filename { 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://example.com/%@",filename]]]; 
    [request setHTTPMethod:@"GET"]; 

    NSError *err = nil; 
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&err]; 
    if (err != nil) { return FALSE; } 

    return data; 

} 

- (NSArray*) downloadFilesfromCDN :(NSArray*)filenames { 

    NSMutableArray *mfiles = [[NSMutableArray alloc] init]; 

    BOOL error = FALSE; 

    for (NSString* filename in filenames) { 
     NSArray *searchPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *path = [[searchPath objectAtIndex:0] stringByAppendingString:[NSString stringWithFormat:@"/%@",filename]]; 
      id file = [self downloadFilefromCDN:filename]; 
      if ([file isKindOfClass:[NSData class]]) { 
     if ([(NSData*)file writeToFile:path atomically:YES] != FALSE) { 
      [mfiles addObject:path]; 
     } else { 
      error = TRUE; // Writing of file failed 
     } 
      } else { 
        error = TRUE; // Download failed 
      } 
    } 

    if (error) { 
      // Handle error 
    } 

    [filenames release]; 

    return [NSArray arrayWithArray:mfiles]; 
} 

注意:您需要將純文件名讀取到NSArray中。如果你有不同的起源改變

[NSString stringWithFormat:@"http://example.com/%@",filename] 

[NSString stringWithFormat:@"%@",filename] 

和閱讀的完整路徑(http://example.com/file1.png,http://example.com/file2.png )成NSArray。

完成。希望它會有所幫助。

對不起這麼多編輯:S

相關問題