1299395323@qq.com
1299395323@qq.com
  • 发布:2020-06-10 09:47
  • 更新:2021-01-28 16:45
  • 阅读:660

【报Bug】uni-app选择图片方向不对

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10企业版

HBuilderX类型: 正式

HBuilderX版本号: 2.7.9

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 小米

手机机型: 小米8青春版

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
//选择图片  
            chooseImg(type){  
                uni.chooseImage({  
                    sourceType:[type],  
                    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有  
                    success: (res)=>{  
                        for(let i=0;i<res.tempFilePaths.length;i++){  
                            uni.getImageInfo({  
                                src: res.tempFilePaths[i],  
                                success: (image)=>{  
                                    console.log(image);  
                                    this.msgList.push({  
                                        type:'img',  
                                        user:'me',  
                                        userName:'我',  
                                        src:res.tempFilePaths[i],  
                                        time:new Date().format("yyyy-MM-dd hh:mm:ss"),  
                                    });  
                                }   
                            });  
                        }  
                        this.scroll();  
                    }  
                });  
            }

预期结果:

图片发出来是整的

实际结果:

图片是反的

bug描述:

图片在手机相册中是正的,而通过uni.chooseImage选择的图片发出来是反的

如图一,在手机相册预览是正的

图二,是在消息列表中,显示的是反的

图三是打开预览的图片,也是反的

2020-06-10 09:47 负责人:无 分享
已邀请:
1299395323@qq.com

1299395323@qq.com (作者)

有人解决没

1299395323@qq.com

1299395323@qq.com (作者)

??

2838950704@qq.com

2838950704@qq.com - 蜗牛

我也遇到过,好像是图片太大就导致旋转了

1299395323@qq.com

1299395323@qq.com (作者)

有人解决吗

1299395323@qq.com

1299395323@qq.com (作者)

在HbuilderX编辑器边改边看模式发送手机拍照的图片也是反的

fengc97@163.com

fengc97@163.com

H5端的解决方式可以参考这篇文章
https://www.jianshu.com/p/05df047f54af
APP端的解决方式可以参考这个插件的代码
https://ext.dcloud.net.cn/plugin?id=341

  • 1299395323@qq.com (作者)

    哎,本身框架的问题,没人解决,要搞这么多东西

    2020-06-15 16:53

  • 1299395323@qq.com (作者)

    那小程序不就没办法解决了

    2020-06-28 10:39

1299395323@qq.com

1299395323@qq.com (作者)

有官方的插件吗

大肥光光

大肥光光

我们也出现这种情况,ios机上。然后做图片旋转……差不多就是回复里面给的那种方法旋转,挺麻烦

1299395323@qq.com

1299395323@qq.com (作者)

额,没人理吗

默默持有黑马股

默默持有黑马股 - 看问题要看长远

这个应该是bug呀,官方应该解决一下吧,感觉应该不是什么大问题

  • 风云杭州

    这个跟 uniapp没关系,可以在服务器端处理,php处理起来还是比较容易的

    2021-01-28 16:57

nl1ucp@126.com

nl1ucp@126.com

有回复吗

DCloud_Android_ST

DCloud_Android_ST

旋转的图片怎么产生的。目前没能复现

  • 风云杭州

    这属于图片方向的问题,有些安卓手机会存在这个情况。数码相机拍的也会有这个情况

    2021-01-28 16:56

  • nl1ucp@126.com

    小米手机拍摄 3000 4000 像素的图片 在页面使用标签引入时 图片旋转 (横向 4000 3000 图片不会 , 竖向 3000* 4000 显示为横向图)

    2021-02-01 10:57

  • DCloud_Android_ST

    回复 nl1ucp@126.com: 哪里可以配置3000 4000?

    2021-02-01 16:04

  • nl1ucp@126.com

    回复 DCloud_Android_ST: 48M (4800万超清模式)

    2021-02-01 19:46

风云杭州

风云杭州 - 请加微信18616792121,拉你进uniapp学习交流群,加的时候请备注uniapp

如果是php,可以通过服务器端来处理

//处理图片方向的问题  
            $imageexif = imagecreatefromstring(file_get_contents($imagepath));  
            $exif = exif_read_data($imagepath);  

            if (!empty($exif['Orientation'])) {  
                switch ($exif['Orientation']) {  
                    case 8:  
                        $imageexif = imagerotate($imageexif, 90, 0);  
                        break;  
                    case 3:  
                        $imageexif = imagerotate($imageexif, 180, 0);  
                        break;  
                    case 6:  
                        $imageexif = imagerotate($imageexif, -90, 0);  
                        break;  
                }  
                if($type=='png'){  
                    imagepng($imageexif, $imagepath);  
                }else{  
                    imagejpeg($imageexif, $imagepath);  
                }  

                imagedestroy($imageexif);  
            }  

要回复问题请先登录注册