Я перенес это в Xamarin:
тирую свое приложение для iPhone на iPhone iOS 3.1.3. Я выбираю / снимаю изображение с помощьюUIImagePickerController
:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self.navigationController presentModalViewController:imagePicker animated:YES];
[imagePicker release];
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
self.image = [info objectForKey:UIImagePickerControllerOriginalImage];
imageView.image = self.image;
[self.navigationController dismissModalViewControllerAnimated:YES];
submitButton.enabled = YES;
}
Затем я в какой-то момент отправляю его на свой веб-сервер, используя классы ASI:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://example.com/myscript.php"]];
[request setDelegate:self];
[request setStringEncoding:NSUTF8StringEncoding];
[request setShouldContinueWhenAppEntersBackground:YES];
//other post keys/values
[request setFile:UIImageJPEGRepresentation(self.image, 100.0f) withFileName:[NSString stringWithFormat:@"%d.jpg", [[NSDate date] timeIntervalSinceNow]] andContentType:@"image/jpg" forKey:@"imageFile"];
[request startAsynchronous];
проблема: когда я делаю снимок с помощью iphone, удерживая его в альбомной ориентации, изображение загружается на сервер и просматривается так, как вы ожидаете. при съемке изображения с портретным изображением телефон загружается и просматривается так, как его повернули на 90 градусов.
мое приложение настроено на работу только в портретном режиме (перевернутый и обычный).
Как я могу сделать так, чтобы изображение всегда показывало правильную ориентацию после загрузки?
изображение кажется правильным, как показано в UIImageView (непосредственно после съемки), но просмотр на сервере говорит об обратном.