后台往往要求上传压缩图片,大小不能超过多少。前端就需要对手机获取的图片做处理:
extension UIImage {
func compressImageOnlength(maxLength: Int) -> Data? {
let maxL = maxLength * 1024 * 1024
var compress:CGFloat = 0.9
let maxCompress:CGFloat = 0.1
var imageData = UIImageJPEGRepresentation(self, compress)
while (imageData?.count)! > maxL && compress > maxCompress {
compress -= 0.1
imageData = UIImageJPEGRepresentation(self, compress)
}
return imageData
}
}
扩展UIImage类,调用compressImageOnlength方法,传参数maxLength指定压缩图片大小,返回图片的Data数据。