H5-IOS 图片转90度 canvas 获取base64问题解决
故事背景:
在移动端需要上传图片,图片显示在页面上,然后压缩图片,将图片转为base64,传给接口,用于进行人脸识别。
上传图片以后发现,IOS上传的图片会逆时针旋转90度,导致生成的base64与原先图片有差异,这会影响人脸识别结果。
解决方法:
引入EXIF.js, 可自行查看官网https://www.npmjs.com/package/exif-js
方式一:通过cnd引入;
方式二:通过npm install exif-js 引入;
原理:
EXIF.js可判断图片来源,判断是否被旋转,根据
parseInt(EXIF.getTag(this, "Orientation"))的返回值来做对应的复原操作。
项目代码:https://github.com/abigting/tool/tree/master/onecall