Ich teste meine iPhone-Anwendung auf einem iOS 3.1.3 iPhone. Ich wähle/erfasse ein Bild mit einer 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;
}
Irgendwann schicke ich sie dann mit Hilfe der ASI-Klassen an meinen Webserver:
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];
das Problem: Wenn ich ein Bild mit dem iPhone im Querformat aufnehme, wird das Bild auf den Server hochgeladen und so angezeigt, wie man es erwarten würde. Wenn ich ein Bild aufnehme und das Telefon im Hochformat halte, wird das Bild hochgeladen und so angezeigt, als wäre es um 90 Grad gedreht worden.
meine Anwendung ist so eingestellt, dass sie nur im Hochformat funktioniert (auf dem Kopf stehend und normal).
Wie kann ich erreichen, dass das Bild nach dem Hochladen immer in der richtigen Ausrichtung angezeigt wird?
Das Bild scheint korrekt zu sein, wie es in einer UIImageView (direkt nach der Aufnahme) angezeigt wird, aber die Anzeige auf dem Server sagt etwas anderes.