乐趣区

关于后端:也许另一种方式能帮助我们解决问题

他山之石,可以攻玉

本周开发的一个小事件

前因后果

本周遇到了一个小问题, 苹果手机拍照上传图片会旋转 90 度,不是你拍好的照片旋转,而是在抉择上传图片的时候,抉择拍照而后再上传,这个时候图片就会被旋转 90 度。然而我查看了一下我的代码,我的代码未曾解决过这一段,那问题出在哪里呢?我陷入了深思,于是开始关上了百度,开始面向百度编程:

​ 所以这是苹果手机的问题, 然而为什么在苹果手机中没有呈现这种旋转,上传到服务器在浏览器上看就呈现了旋转呢,是不是这张图片携带了暗藏属性呢?

​ 而后我又搜了搜发现起因是:

我看到了这里有 js,于是就想让前端的同学帮忙解决一下,又想到前端要跨浏览器也比拟麻烦,所以我的想法是我这里获取图片的属性,获取暗藏属性旋转了多少度:

然而这又要引入了新的库,我陷入了两难,于是跟共事交换了一下,共事说能不能把这部分暗藏的数据给打消掉,也能实现咱们的指标, 于是我就去 Thumbnails 这个外面去找看有没有去除暗藏属性的库,找了半天发现没有这样的办法,而后有点小失望,于是再跟共事进行探讨,共事示意 Thumbnails 的压缩图片能够把这部分属性去掉,像上面这样:

      ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
        // outputQuality 能够去除图片的暗藏属性
      Thumbnails.of(new File("")).scale(1.0).outputQuality(1.0).toOutputStream(byteOutputStream);
      byte[] byteArray = byteOutputStream.toByteArray();
      // byteArray 曾经是去除暗藏属性的了
      // 旋转也其余操作能够基于这个新的 byteArray 来做
        

在一开始我是没想到问题会用这样的形式来解决,他山之石,可以攻玉。

参考资料

  • IOS 上传图片旋转 90 度问题呈现起因及解决方案 https://www.cnblogs.com/justd…
退出移动版