-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
UIImage *newImage = [self squareImageFromImage:image scaledToSize:image.size.width];
//将图片进行压缩
// self.imageData = UIImageJPEGRepresentation(newImage, kUploadPictureRepresentation);
if (UIImagePNGRepresentation(newImage) == nil) {
self.imageData = UIImageJPEGRepresentation(newImage, 1);
} else {
self.imageData = UIImagePNGRepresentation(newImage);
}
NSMutableDictionary * dicUserInfo = [[NSMutableDictionary alloc] init];
NSNumber *type = [NSNumber numberWithInt:1];
[dicUserInfo setValue:type forKey:@"type"];
if (self.imageData) {
[dicUserInfo setValue:[NSDictionary dictionaryWithObject:self.imageData forKey:@"file"] forKey:@"file"];
}
/
//分界线的标识符
NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";
//初始化url
NSString *requestString = [[NSString alloc] initWithFormat:@"%@%@",K_HOST_ADDRESS,K_UPLOADIMAGE];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestString]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:10];
NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];
NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary];
//要上传的图片
NSData *image2 = self.imageData;
NSMutableString *body=[[NSMutableString alloc]init];
for(int i=0;i<[dicUserInfo count];i++)
{
NSString *key = [[dicUserInfo allKeys] objectAtIndex:i];
if(![key isEqualToString:@"file"])
{
[body appendFormat:@"%@\r\n",MPboundary];
[body appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];
[body appendFormat:@"%@\r\n",[dicUserInfo valueForKey:key]];
}
}
NSString *filename = [NSString stringWithFormat:@"%.0f", [[NSDate date] timeIntervalSince1970]];
[body appendFormat:@"%@\r\n",MPboundary];
[body appendFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"%@.jpg\"\r\n",filename];
[body appendFormat:@"Content-Type: image/jpge,image/gif, image/jpeg, image/pjpeg, image/png\r\n\r\n"];
NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary];
NSMutableData *myRequestData=[NSMutableData data];
[myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding]];
[myRequestData appendData:image2];
[myRequestData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];
NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY];
[request setValue:content forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[myRequestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:myRequestData];
[request setHTTPMethod:@"POST"];
//建立连接,设置代理
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(conn){
NSLog(@"连接成功");
}
//提示用户上传成功 需要判断返回的json
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError){
NSInteger responseCode = [(NSHTTPURLResponse *)response statusCode];
if (responseCode == 200) {
NSString *returnString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if (returnString) {
[self saveImage:returnString];
}
}
}];
}