NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
UIImage *imageCaptured=[imagePickerInfo objectForKey:UIImagePickerControllerOriginalImage];
NSData *imgchekc=UIImageJPEGRepresentation(imageCaptured,1);
NSUInteger fileLength = [imgchekc length];
NSLog(@"Size of Image(bytes):%d %d ",[imgchekc length],fileLength);
答案 0 :(得分:2)
你需要检查同样的事情。您在磁盘上有一个加载到映像中的文件。然后,将该图像转换为JPEG数据(使用UIImageJPEGRepresentation
)。此数据现在与磁盘上的数据没有关系(就大小而言)。
如果您只想将文件上传到磁盘上,请不要将其加载到图像中,然后转换数据,只需上传即可。要获得文件大小,您可以使用NSFileManager
,attributesOfItemAtPath:error:
和NSFileSize
。
如果您想转换为JPEG,那么您的代码就可以了,您可能不希望1
使用compressionQuality
,因为这会导致更多的数据。试试0.75
,看看有什么不同。