Сохранение данных iPhone iOS, полученных из UIImageJPEGRepresentation (), завершается с ошибкой во второй раз: ImageIO: ошибка CGImageRead_mapData 'open'

У меня странная проблема с манипуляциями с UIImage.

Я выполняю синхронизацию в Dropbox и должен хранить свои изображения в виде локальных файлов. Для этого я сохраняю их, используяUIImagePNGRepresentation(image) или жеUIImageJPEGRepresentation(image, 0.66)

Вот мой типичный рабочий процесс: Пользователь выбирает изображение или делает фотографию Изображение присваивается imageView UIImage вида изображения сохраняется в файл, используя метод ниже

В следующий раз, когда пользователь снова откроет приложение, я прочитал изображение обратно из файла, используя

[UIImage imageWithContentsOfFile:fullImagePath]

Это работает один раз.

Во второй раз, когда я запускаю процедуру, я получаю сообщение об ошибке, перечисленное ниже, при попытке сохранить образ на диск еще раз.

//saving the image
NSData* data = isPNG?UIImagePNGRepresentation(image):UIImageJPEGRepresentation(image, 0.66);
BOOL success =   [data writeToFile:filepath atomically:YES];
if(!success)
{
    DLog(@"failed to write to file: %@",filepath );
}


//loading the image
[UIImage imageWithContentsOfFile:fullImagePath]

Я получаю эту ошибку, когда пытаюсь повторно сохранить изображение, ранее преобразованное в JPEG или PNG

2012-05-21 08:16:06.680   file already exists: NO
ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/C1312BF8-C648-4397-82F3-D93E4FAAD35F/Documents/imageData/LogoImage.jpg'
error = 2 (No such file or directory)
May 21 08:16:06  <Error>: ImageIO: JPEG Not a JPEG file: starts with 0xff 0xd9
May 21 08:16:06  <Error>: ImageIO: JPEG Application transferred too few scanlines

Мне кажется, что эта ошибка происходит из-за того, что я снова пытаюсь сохранить изображение в формате JPEG. Если я прошу представление визуализировать себя в контексте (эффективно создавая новое изображение), ошибка не произойдет.

Кто-нибудь знает, что я делаю не так? Я пропускаю какие-то метаданные, пытаясь преобразовать UIImage в данные, перезагружая их и пытаясь преобразовать еще раз после отображения их пользователю?

Ответы на вопрос(1)

Ваш ответ на вопрос