Ios 上载NSData UIImageJPEG表示太大

Ios 上载NSData UIImageJPEG表示太大,ios,nsdata,Ios,Nsdata,我正在通过FTP将iPhone上拍摄的图像(转换为NSData)上传到iOS应用程序上,使用 问题是图像大小约为40mb,每次应用程序完成上传时,Xcode都会崩溃。如何使图像变小?此方法允许您以编程方式在Objective-C中调整图像大小 + (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { UIGraphicsBeginImageContextWithOptions(newSize,

我正在通过FTP将iPhone上拍摄的图像(转换为NSData)上传到iOS应用程序上,使用


问题是图像大小约为40mb,每次应用程序完成上传时,Xcode都会崩溃。如何使图像变小?

此方法允许您以编程方式在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后端上传文件:


如果有帮助,一定要把我的答案记为正确

仅在有关IDE本身的问题上使用标记。谢谢我的目标是使图像尽可能小,就像个人资料图片一样。谢谢你的信息,亚当。我来看看php代码。但是,使用AFNetworking不是更容易吗?使用AFNetworking可能更容易。虽然API看起来很有趣,但我还没有真正看过它。在过去,我主要使用NSURLRequest和NSURLConnection。谢谢分享!
+ (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;
 }