Ich habe versucht, Kamerabilder vom iPhone auf meinen Webserver zu laden, aber einige, wie die Bilder ihre Ausrichtung nach den Wards ändern. Dies geschieht nur bei Kamerabildern und nicht bei einfachen Bildern, die von meinem Gerät auf das Gerät hochgeladen werden.Kamerabild ändert die Ausrichtung
Unten ist der Code:
NSData *imgdataRepresentation = UIImageJPEGRepresentation(imgTemp, 0.5);
///////**********************************************
// setting up the URL to post to
NSString *addPhotoURL = [NSString stringWithFormat:@"%@%@%@",HTTP_HOST,ADD_PHOTO_URL,[userInfo.userDetail objectForKey:@"id"]];
// setting up the request object now
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:addPhotoURL]];
[request setHTTPMethod:@"POST"];
/*
add some header info now
we always need a boundary when we post a file
also we need to set the content type
You might want to generate a random boundary.. this is just the same
as my output from wireshark on a valid html post
*/
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
/*
now lets create the body of the post
*/
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"Album\"; filename=\"ipodfile.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imgdataRepresentation ]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// setting the body of the post to the reqeust
[request setHTTPBody:body];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
Danke für schnelle Antwort Mann. Ich benutze PHP, aber jetzt ist das Problem, wie ich zwischen Kamerabildern und Bildern, die von meinem Desktop zu meinem Gerät hinzugefügt werden, aufpassen werde. – prabh
Das ist ziemlich einfach, und mein C# -Code ist dafür verantwortlich. Wenn das EXIF-Orientierungs-Tag existiert, drehen Sie das Bild entsprechend der Orientierungs-Tag-Information. Ansonsten nichts tun. –
Ich kenne selbst kein PHP, aber ich fand das mit einer schnellen Google-Suche: http://bytes.com/topic/php/answers/641481-thumbnail-orientation –