В настоящее время я загружаю изображение на сервер с помощью Imgur на iOS со следующим кодом:
NSData* imageData = UIImagePNGRepresentation(image);
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SBTempImage.png"];
[imageData writeToFile:fullPathToFile atomically:NO];
[uploadRequest setFile:fullPathToFile forKey:@"image"];
Код отлично работает при запуске в симуляторе и загрузке файла из библиотеки фотографий симулятора, потому что я использую быстрое подключение к сети Ethernet. Однако время ожидания того же кода на iPhone истекает при выборе изображения, снятого на iPhone. Итак, я попробовал это, сохранив небольшое изображение из Интернета и попытавшись загрузить его, и это сработало.
Это наводит меня на мысль, что большие изображения, сделанные iPhone, выходят из-под контроля относительно медленной сети 3G. Есть ли способ сжать/изменить размер изображения с iPhone перед его отправкой?