uni-app uni.previewImage 在安卓端打开苹果端发布的图片时,放大预览图片会逆时针旋转90度
uni-app uni.previewImage 在安卓端打开苹果端发布的图片时,放大预览图片会逆时针旋转90度
示例代码:
previewImg(i, imageArr) {
uni.previewImage({
current: i,
urls: imageArr,
loop: true
});
},
操作步骤:
在应用商店搜索下载Hi校园app,在苹果端发布图片
在安卓端打开苹果端发布的图片会旋转90度
预期结果:
不旋转90度
实际结果:
旋转
bug描述:
使用uni.previewImage 在安卓端打开苹果端发布的图片,放大预览图片会逆时针旋转90度
图片


| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC操作系统版本 | macOS Big sur 11.2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.2.8 |
| 手机系统 | Android |
| 手机系统版本 | Android 11 |
| 手机厂商 | 华为 |
| 手机机型 | mate30 5G |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app uni.previewImage 在安卓端打开苹果端发布的图片时,放大预览图片会逆时针旋转90度的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没人吗
来个人处理下啊
图片链接提供一下
回复 a***@helloyun.cn: 下个版本会优化该问题
回复 DCloud_Android_ST: 是 bug是吧,确认下问题 谢谢 想加分 哈哈
HX3.2.10 alpha 已修复该问题
3.2.12.20211029 版本 OPPO A32手机, uni.chooseImage 选择图片时在图片列表里方向正常。图片列表里点预览 > 编辑,图片是向右旋转90度的。选择图片后,图片是向右旋转90度的。
EXIF工具查看图片: Rotate 270 CW
uni.getImageInfo 返回的是 UP
另外,上传到服务器上, exif信息都没有了,所以服务器得不到rotate信息
接上:手机选择图片时,选择原图,情况也是一样的
这个问题是由于iOS设备拍摄的照片包含EXIF方向信息,而Android端的图片预览组件未能正确处理这些方向信息导致的。
问题原因:
iOS设备拍摄的照片通常包含EXIF元数据,其中记录了照片的方向信息。当iOS用户上传照片时,这些EXIF信息会被保留。但在Android端使用uni.previewImage预览时,系统可能没有正确解析这些方向信息,导致图片显示时发生旋转。
解决方案:
-
上传前处理图片(推荐): 在iOS端上传图片前,使用
uni.compressImage或uni.getImageInfo获取图片信息,然后通过canvas进行方向校正:// 获取图片信息 uni.getImageInfo({ src: imagePath, success: (res) => { // 如果图片有旋转信息,进行校正处理 if (res.orientation && res.orientation !== 'up') { // 使用canvas重绘图片校正方向 this.correctImageOrientation(res.path); } } });


