IOS上传图片方向问题
在显示上传完毕的图片的时候遇到了一个问题, 图片莫名其妙被逆时针旋转了90度就很离谱
如下图
经过一番查询, 原来是 IOS 的相机拍照的时候会把方向角写入到图片里面
因为我用的是 element 的上传组件, 所以先去找了找 issue, 果不其然在 Issues #15162有人和我提出了同样的问题, 官方给的回答是 Sorry, we have no plan to support this. 所以只能尝试自己修复了
基础思路就是
- 获取图片的方向角
- 将图片在
canvas画出 - 旋转到正常位置
- 导出为
DataURL DataURL转换为File上传
获取旋转角#
这里我们会用到 exif-js 这个库来获取图片的 orientation (方向角), 如果方向角不为 0 , 就需要吧方向角改回 0
先使用 EXIF.getData 解析图片, 然后 EXIF.getTag 拿到 Orientation返回, 为了调用方便都包装成 Promise
import EXIF from ‘exif-js‘

![IOS上传图片方向问题
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/02/1706717541-3f1a10357c39a74.jpg)

