如果从相机捕获并从库中选择,则图像大小不同

时间:2015-01-06 14:08:09

标签: ios uiimagepickercontroller

我正面临这个奇怪的问题,如果我直接从相机上传图像,它的尺寸较小(在我的情况下为0.9 MB),如果我单独单击图像然后从图库中选择它有不同的尺寸(17 MB in同样的情况)

是否可能或我遗失了什么

NSString *url = [NSString stringWithFormat:@"%@",MyURL];

UIImage *yourImage= (UIImage *)[data objectAtIndex:0]; // image picked from      gallery/camera

NSData *imageData = UIImagePNGRepresentation(yourImage);
NSDictionary *userValues = [[NSUserDefaults standardUserDefaults] objectForKey:@"userValues"];

NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];

NSString *abc=[userValues objectForKey:@"abc"];
NSString *memberLogin=[userValues valueForKey:@"memberlogin"];

[parameters setValue:@"abcd" forKey:@"param1"];
[parameters setValue:@"1234" forKey:@"param2"];

NSMutableData *tempData = [NSMutableData data];
NSString *boundary = @"------VohpleBoundary4QuqLuK1cE5pMoCw";
NSString *FileParamConstant = @"album_image";

for (NSString *param in parameters)
{
    [tempData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [tempData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", param] dataUsingEncoding:NSUTF8StringEncoding]];
    [tempData appendData:[[NSString stringWithFormat:@"%@\r\n", [parameters valueForKey:param]] dataUsingEncoding:NSUTF8StringEncoding]];
}

[tempData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[tempData appendData:[[NSString stringWithFormat:@"Content-Disposition: attachment; name=\"%@\"; filename=\"ipodfile.jpg\"\r\n", FileParamConstant] dataUsingEncoding:NSUTF8StringEncoding]];
[tempData appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[tempData appendData:[NSData dataWithData:imageData]];
[tempData appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[tempData appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
self.requestContentType = contentType;

[request setValue:requestContentType forHTTPHeaderField:@"Content-Type"];
[request setValue:requestContentLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:tempData];
[request setHTTPMethod:@"POST"];
  • 我注意到如果我使用UIImageJPEGRepresentation而不使用压缩(1.0)而不是UIImageJPEGRepresentation它会减小尺寸

1 个答案:

答案 0 :(得分:0)

很奇怪,但在使用UIImagePickerController的allowEditing属性为true后才解析(仅使用UIImagePNGRepresentation)