ios客户端上传图片的时候,如果图片过大,通常会压缩后上传,
UIImageJPEGRepresentation(image,0.5f)
压缩后图片为二进制文件,这里的系数0.5并非是压缩率,经过测试,系数0.5代表压缩率0.8.而且此种方式压缩,会明显缩小图片大小,并且图片尺寸不变,图片画质变化微小。0.5是一个比较合理的系数。现在公司的做法是这样:只要是图片全部压缩上传,这样在客户端上传的图片都能保证图片压缩率是0.8.但是如果用户从其他平台转载过来的图片并未压缩。所以服务器也会做一次处理,先判断图片的压缩率,如果压缩率大于0.8,就把它压缩为0.8. 只有每张图片的压缩率相同,才能用MD5去判断两张图片是否相同。
我们的客户端首页是推荐贴,如果有两个帖子里面有相同的图片,则第二个帖子是不会被推荐的。所以一定要保证相同图片的MD5是一样的。
要确认的几个问题:
1. 客户端压缩后上传的图片,下载回来后再次压缩上传,其压缩率会不会变化。
2.安卓和ios上传同一张图片,压缩后的MD5是不是一致。