honeycao / ACMediaFrame

一个完整的媒体库选择和展示的框架。包括本地图片、视频选取,拍摄、录像等,并得到对应的用于上传的数据类型,再也不用担心媒体文件上传了
MIT License
204 stars 57 forks source link

上传到服务器的图片方向不对 #2

Open chenyingsunny opened 7 years ago

chenyingsunny commented 7 years ago

你有在项目中使用你写的框架吗?通过requestImageDataForAsset获取的imageData,貌似不包含图片的方向信息,我遇到的情况是上传一张up的图片,传到服务器是left,而且requestImageDataForAsset方法返回的orientation也是left,请问您是怎么解决图片方向问题的?

honeycao commented 7 years ago

这个框架我自己项目用的挺多的,没碰到方向不对的情况,你是在什么时候将图片进行旋转的

chenyingsunny commented 7 years ago

比如竖着照的照片,上传到服务器就变成顺时针旋转90度的了,我查资料说是图片EXIF信息中包含图片orientation信息,mac,iOS可以自动解析,将图片旋转到正确的位置,但是上传到服务器,不能解析orientation信息,所以照片旋转了,可以参考这篇文章:http://feihu.me/blog/2015/how-to-handle-image-orientation-on-iOS/。 我现在的做法是,直接request image,然后修正方向,之后用UIImageJPEGRepresentation转成data,但是这样来回转,图片的大小就变了,不能保证是原图了。

honeycao commented 7 years ago

好吧,这个没碰到,需要时间来看看。。。你可以自己进行修改试试,如果行了可以和我说下。。。

chenyingsunny commented 7 years ago

目前还没有找到完美的结果办法,我现在的解决方案是:判断如果orientation是up,直接将imageData上传到服务器,如果不是,要纠正方向,因为用到了UIImageJPEGRepresentation方法,所以最终的imageData大小肯定和原图不一样了,这点比较令人纠结。 另外我查到服务器可以对图片纠正方向,有时间可以研究一下。