Я получаю около 1500 URL изображения и хочу хранить эти изображения в каталоге документов iphone за один раз? пожалуйста предложить любой подход, чтобы сделать это ...Сохранение изображений в каталог документов
благодаря
Я получаю около 1500 URL изображения и хочу хранить эти изображения в каталоге документов iphone за один раз? пожалуйста предложить любой подход, чтобы сделать это ...Сохранение изображений в каталог документов
благодаря
метода, чтобы загрузить все 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
Это работает, но требуется много времени ... можно просто использовать этот UIImage * image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: @ "http: // www .example.com/изображений/logo.png "]]]; – devaditya
Это зависит от того, что вы хотите сделать. Если вы хотите загрузить файлы и получить их полный список и прочитать их в UIImages, тогда мой метод будет идеальным. Если вы знаете все пути и только хотите их прочитать в UIImages, ваш совершенен. – Paul
Я редко отправлять свои запросы здесь .... он также посоветовал мне раньше ... Я знаю, это звучит абсурдно, но скажите, пожалуйста, как принимать? – devaditya
Нажмите зеленую галочку. – Paul
Щелкните по белой галочке – user2189388