js前端菜鸟,想问下如何在上传前根据Exif信息,对图片进行旋转,然后用修正的base64编码替换源文件上传到七牛云

ios拍摄的照片会自带旋转角度,上传后到七牛云不能正常显示,下载到安卓等设备也不能正常显示。想在图片上传前对图片进行修正,但是不知道如何用修正后的base64编码替换源文件上传,求助,万分感谢。

阅读 3.4k
2 个回答

上传图片的时候如果需要用到exif信息的,那就什么都不处理直接上传。在用到这些图片的地方,在图片后缀加上?imageView2/0/w/750/h/400类似这样的设置(详见七牛图片处理),七牛会把exif信息自动去掉,IOS下拍摄旋转角度的信息也就去掉了。(如果其他地方用这些到图片,并且需要exif信息,那就只做翻转处理或者配合后台在图片上传时存储信息)

或者
直接配置 new QiniuJsSDK().uploader.resize中的preserve_headers:false, exif信息会在图片上传时就去掉

之前用过一个库叫localResizeIMG,会自动处理EXIF的方向转换。另外还有篇文章,不过写的是阿里云的OSS上传(传送门),你参考吧。

还有就是建议直接传二进制文件,base64可以仅作为本地预览用,上传的话比二进制文件还要大,没必要。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题