资讯专栏INFORMATION COLUMN

一行代码实现移动端拍照旋转、压缩问题

lingdududu / 1175人阅读

摘要:在头像拍照上传的时候,浏览器会逆时针旋转度,导致上传的效果不如预期。获取拍照文件上传图片上传

在h5头像拍照上传的时候,ios浏览器会逆时针旋转90度,导致上传的效果不如预期。

如何解决

经过网上查找得知可以用 extjs 来获取图片的元数据,通过 orientation 属性来判断拍照的图片是否被旋转了

通过上图可以看出,在 orientation = 6 的情况下代表图片被逆时针旋转了 90 度,所以只需要针对这种情况对图片做相应的旋转即可

Exif.getData(file, function(){
  let Orientation = Exif.getTag(this, "Orientation");
  if (Orientation === 6) {
      // 旋转图片
  }
});

由于 exif 只提供判断图片角度,我们还需要对图片进行旋转等等操作,实在是很麻烦,于是我封装了一个工具类 ImageFile 来更加方便获取拍照后的二进制文件,而且可以通过参数配置图片大小,不小再写额外的代码压缩。

ImageFile获取拍照文件


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99050.html

相关文章

  • 一行代码实现移动拍照旋转压缩问题

    摘要:在头像拍照上传的时候,浏览器会逆时针旋转度,导致上传的效果不如预期。获取拍照文件上传图片上传 在h5头像拍照上传的时候,ios浏览器会逆时针旋转90度,导致上传的效果不如预期。 如何解决 经过网上查找得知可以用 extjs 来获取图片的元数据,通过 orientation 属性来判断拍照的图片是否被旋转了 通过上图可以看出,在 orientation = 6 的情况下代表图片被逆时针旋...

    wow_worktile 评论0 收藏0
  • 移动图片上传旋转压缩的解决方案

    摘要:上传的文件经过就可以实现预览图片了,这方面不清楚的可以查看进阶系列文件上传下载旋转旋转需要用到的方法。 前言 在手机上通过网页 input 标签拍照上传图片,有一些手机会出现图片旋转了90度d的问题,包括 iPhone 和个别三星手机。这些手机竖着拍的时候才会出现这种问题,横拍出来的照片就正常显示。因此,可以通过获取手机拍照角度来对照片进行旋转,从而解决这个问题。 Orientatio...

    blair 评论0 收藏0
  • 移动H5图片上传的那些坑

    摘要:上周做一个关于移动端图片压缩上传的功能。利用,进行图片的压缩,得到图片的的值上传文件。 上周做一个关于移动端图片压缩上传的功能。期间踩了几个坑,在此总结下。 大体的思路是,部分API的兼容性请参照caniuse: 利用FileReader,读取blob对象,或者是file对象,将图片转化为data uri的形式。 使用canvas,在页面上新建一个画布,利用canvas提供的API,...

    Seay 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<