iOS 压缩图片大小上传到服务器问题

194 天前
 lilongcnc158
Swift 语言写的项目,遇到一个问题:
1 。我把一张照片通过 jpegData(compressionQuality: 0.5)方法压缩到 481kb ,然后通过 UIImage(data: data)转成 UIImage ,
2. 调用上传图片方法传入这个 image (之前项目有的方法,入参是 UIImage )
3. 服务端发现我上传的照片是 1.6M 的
排查问题: 我看这个上传图片方法内部的实现是把 UIimage 通过 image.jpegData(compressionQuality: 1.0 )转成 data ,然后上传这个 data 。 通过打印,发现`image.jpegData(compressionQuality: 1.0 )` 这一步得到的 data 竟然是 1.6MB 。 而不是我之前压缩得到 481kb 。 通过查阅资料,应该是 data 转 UIImage 过程中一些数据增减的变化。 解决方案是再次通过`image.jpegData(compressionQuality: 0.5 )`来获取大小,而不是 1.0 。 另外看起来,上传应该直接 data 进行传递,而不是 UIimage ,这样容易造成问题。

我想知道我说的对吗? 感谢大佬们
578 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1049785

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX