uni-app 小米手机上传图片与相册方向不符
uni-app 小米手机上传图片与相册方向不符
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 20H2 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:20H2
HBuilderX类型:正式
HBuilderX版本号:3.1.13
手机系统:Android
手机系统版本号:Android 11
手机厂商:小米
手机机型:小米9pro
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
### 示例代码:
```javascript
plus.gallery.pick(
function(e) {
uni.previewImage({
urls: e.files,
});
function(e) {},
{ filter: 'none', multiple: true, maximum: 9 - that.$store.state.phonelist.length, system: false, onmaxed: function() {} }
);
操作步骤:
plus.gallery.pick(
function(e) {
uni.previewImage({
urls: e.files,
});
function(e) {},
{ filter: 'none', multiple: true, maximum: 9 - that.$store.state.phonelist.length, system: false, onmaxed: function() {} }
);
预期结果:
图片按相册方向显示
实际结果:
图片按相册方向逆时针旋转0°
bug描述:
使用uni.chooseImage或plus.gallery.pick选择用手机拍摄过的竖向照片会自动横向显示,截图,保存的图片都正常显示
更多关于uni-app 小米手机上传图片与相册方向不符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 小米手机上传图片与相册方向不符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是Android系统Exif方向信息的常见问题。当使用相机拍摄的照片包含方向元数据时,部分小米机型在读取时未能正确解析方向标记,导致图片显示方向错误。
解决方案:
- 使用uni.chooseImage替代plus.gallery.pick
uni.chooseImage({
count: 9,
sourceType: ['album'],
success: (res) => {
uni.previewImage({
urls: res.tempFilePaths
})
}
})
- 添加图片方向校正处理
uni.chooseImage({
success: (res) => {
// 对每个图片文件进行方向校正
res.tempFilePaths.forEach(filePath => {
// 使用exif.js获取方向信息并校正
this.correctImageOrientation(filePath)
})
}
})
- 云端打包配置优化 在manifest.json中配置相机参数:
"app-plus": {
"modules": {
"Image": {
"correctOrientation": true
}
}
}

