Что в настоящее время работает в моем коде:
Я выбираю JPG или PNG из библиотеки фотографий (используя стандартные методы ImagePicker) и конвертирую это изображение в NSData с использованием:
self.myImageData = UIImageJPEGRepresentation(myImage, 0.9);
, который я затем отправляю на сервер, используя multipart / form-data.
Теперь я хочу сделать то же самое для GIF, сохранив при этом исходные данные GIF (чтобы анимированный GIF, попавший в библиотеку, возвращался все еще в анимации).
В didFinishPickingMediaWithInfo я могу получить URL-адрес исходного файла GIF с использованием
self.myGIFURL = [info objectForKey:UIImagePickerControllerReferenceURL].
Вот один пример того, что это может мне дать:
assets-library: //asset/asset.GIF? Id = 1000000034 & ext = GIF
Вот два способа, которые я пробовал теперь, чтобы вставить этот GIF в NSData, и каждый раз, когда я myImageData показывает (null).
Я пытался использовать initWithContentsOfURL:
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfURL: myGIFURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Затем я попытался преобразовать NSURL в строку для initWithContentsOfFile:
NSString *stringFromURL = [NSString stringWithFormat:@"%@", myGIFURL];
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfFile: stringFromURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Есть предложения? Спасибо.