Изображение не сохраняется в Objective C - PullRequest
1 голос
/ 26 апреля 2011

Я загружаю файл, используя следующее:

NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"URL HERE"]];

Отображая его со следующим:

UIImage *img = [UIImage imageWithData:imgData];

И сохраняя его на устройстве со следующим:

NSFileManager *fm = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *pth = [[paths objectAtIndex:0] stringByAppendingPathComponent:self.localFile];    

NSData *d1 = [NSData dataWithData:UIImageJPEGRepresentation(img,1.0f)];
[d1 writeToFile:pth atomically:YES];

Фотография отображается нормально в моем UIImageView.Но когда я перезагружаю приложение и показываю файл, я получаю следующую ошибку:

ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/422122E1-3244-46CE-BB6C-123C750E2191/Documents/14741078_1.jpg'
         error = 2 (No such file or directory)
ImageIO: <ERROR> JPEGNot a JPEG file: starts with 0xff 0xd9

1 Ответ

1 голос
/ 27 апреля 2011

Я только что решил ту же проблему.

Не меняйте свой метод загрузки.
Но сохраните ваше изображение так:

NSError* error = nil;
[UIImageJPEGRepresentation(img, 1.0f) writeToFile:pth options:NSDataWritingAtomic error:&error];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...