iOS: выберите GIF из библиотеки фотографий, конвертируйте в NSData для использования в multipart / form- data

Что в настоящее время работает в моем коде:

Я выбираю 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];

Есть предложения? Спасибо.

9
задан Chris Ereneta 3 March 2011 в 22:19
поделиться