上传NSData UIImageJPEGRepresentation太大了

时间:2013-06-04 18:58:03

标签: ios nsdata

我正在使用https://github.com/lloydsargent/BlackRaccoon在iOS应用程序上通过FTP上传在iPhone上拍摄的图像(转换为NSData)。

dataImage = UIImageJPEGRepresentation(image, 0.5);

问题是图像大小约为40mb,每次app完成上传时,Xcode崩溃。如何缩小图像?

1 个答案:

答案 0 :(得分:0)

此方法允许您以编程方式在Objective-C中调整图像大小。

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
     UIGraphicsBeginImageContextWithOptions(newSize, YES, [UIScreen mainScreen].scale);
     [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
     UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();
     return newImage;
 }

基本上我建议您调整图片大小,然后在问题是您正在使用的API时将其上传。话虽这么说,使用NSURLConnection类方法,我已经能够上传大于40mb的文件。您可以查看我刚刚发布的关于如何使用这些方法上传PHP后端文件的帖子:

Strange issue while posting image from iPhone

如果有帮助,请务必将我的答案标记为正确!