我将图片和用户ID一起上传到我的服务器。所以,我将图像转换为基本64字符串。转换后,我将与用户ID一起发送到服务器。我已经为我的isssue检查了很多论坛,但希望没有帮助我。我使用下面的代码来发送服务器 在 didFinishPickingMediaWithInfo 委托方法
NSData *webData = UIImageJPEGRepresentation(chosenImage,90);
NSLog(@"webData -->%@",webData);
NSString *strEncoded = [Base64 encode:webData];
NSLog(@"strEncoded -->%@",strEncoded);
NSURL *url2 = [NSURL URLWithString:@"http://"]; //url
// NSString *base64ImageString = [imageData base64EncodedStringWithOptions:kNilOptions]; // iOS 7+
NSDictionary *jsonDictionary = @{@"user_id" : userIdString,
@"Image" : strEncoded,
};
NSError *error;
NSData *httpBody = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:0 error:&error];
NSAssert(httpBody, @"dataWithJSONObject error: %@", error);
NSMutableURLRequest *request2 = [NSMutableURLRequest requestWithURL:url2];
[request2 setHTTPMethod:@"POST"];
[request2 setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request2 setHTTPBody:httpBody];
NSLog(@"request2 -->%@",request2);
[NSURLConnection sendAsynchronousRequest:request2 queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (!data) {
NSLog(@"sendAsynchronousRequest error: %@", connectionError);
return;
}
// use the `data` result here, e.g.
NSString *responseString2 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"responseString2 = %@", responseString2);
}];
我的请求已成功转到服务器,但我收到如下响应(html标签,这是不正确的响应)
<!DOCTYPE html PUBLIC
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
等一些html标签,但我需要得到服务器响应作为json数据,服务器端一切都很好。他们在代码中告诉我方面的问题。 我尝试了很多方法,但对我没用。请anyonce可以给我宝贵的建议。谢谢高级!