事前に感謝します..私のアプリでは、画像をサーバーにアップロードする必要があります。以下は私のコードです。応答が得られるので、コードは正常に動作していますが、問題は、サーバー側の画像がただ黒であることです。
sessionid=[[[NSUserDefaults standardUserDefaults] valueForKey:@"SessionID"]objectAtIndex:0];
NSLog(@" ID = %@",sessionid);
NSData *da = [NSData data];
da = UIImagePNGRepresentation(self.Profilepic);
NSString *imgStr = [da base64Encoding];
NSLog(@" %d", imgStr.length);
NSString *serverscriptpath=[NSString stringWithFormat:@"http://c4ntechnology.com/biker/web_services/ws_insert_register3.php?"];
NSString *post =[[NSString alloc] initWithFormat:@"profile_pic=%@&sessionid=%@",imgStr,sessionid];
NSLog(@"post string is :%@",post);
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"post length is :%@",postLength);
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSString *script_path=[NSString stringWithFormat:@"%@",serverscriptpath];
[request setURL:[NSURL URLWithString:script_path]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSLog(@"%@",script_path);
NSData *serverReply = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString* responseString = [[[NSString alloc] initWithData:serverReply encoding: NSUTF8StringEncoding] autorelease];
NSDictionary *dict = [responseString JSONValue];
NSLog(@"%@",dict);
[self ReceivedResponse:dict];
-(void)ReceivedResponse:(NSDictionary *)d
{
[AlertHandler hideAlert];
NSLog(@"%@",d);
}
サーバーの画像が黒いのはなぜですか?私はbase64に変換するためにNSDatAdditions.hファイルを使用しています。
私が使用しているとき
NSData *imageData = UIImageJPEGRepresentation(Profilepic, 1.0);
サーバー側では、ファイルの発生はサポートされていないため、使用しました
NSData *da = [NSData data];
da = UIImagePNGRepresentation(self.Profilepic);