uni-app 小米手机选择图片无法从相册获取图片
uni-app 小米手机选择图片无法从相册获取图片
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win11 | HBuilderX |
操作步骤:
- 使用微信浏览器扫描 官方web连接 —》调用图片选择页面–》从图片选择页面计入相册—》选择图片----》回退是页面图片
预期结果:
- 相册图能带回
实际结果:
- 相册选择的图片没有带回
bug描述:
- 小米手机调用uni.chooseImage 进入图片选择页面可以选择图片,但是从次页面进入相册,无法选择图片,失败成功无回调。使用官方demo也是这样。 目前 小米6x 、k30 、k50、k60都有这个问题
3 回复
问题解决了吗,可以看看你的代码吗
我今天在做这个例程时,也是这种问题。当时觉得赋值给imgArr的this可能有问题。将函数改成 success: res => {
后OK
在处理uni-app在小米手机上选择图片无法从相册获取图片的问题时,首先需要确保uni-app和相关依赖库都已更新到最新版本,因为新版本可能已经修复了这个问题。如果问题依然存在,可以尝试通过代码层面进行一些调整和优化。以下是一个基本的示例代码,展示如何在uni-app中实现图片选择功能,并处理可能遇到的问题。
首先,确保在manifest.json
文件中已经配置了必要的权限,特别是访问相册和存储的权限:
"mp-weixin": { // 示例平台配置,其他平台类似
"requiredPrivateInfos": ["chooseImage"]
},
"app-plus": {
"distribute": {
"android": {
"permissions": [
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"
]
}
}
}
接下来,在页面的.vue
文件中实现图片选择功能:
<template>
<view>
<button @click="chooseImage">选择图片</button>
<image v-if="imageSrc" :src="imageSrc" style="width: 100%; height: auto;"></image>
</view>
</template>
<script>
export default {
data() {
return {
imageSrc: ''
};
},
methods: {
chooseImage() {
uni.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 从相册选择或是用相机拍摄,默认二者都有
success: (res) => {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFilePaths;
this.imageSrc = tempFilePaths[0];
console.log('选择的图片路径:', tempFilePaths);
},
fail: (err) => {
console.error('选择图片失败:', err);
uni.showToast({
title: '选择图片失败',
icon: 'none'
});
}
});
}
}
};
</script>
<style>
/* 添加一些基本的样式 */
button {
margin: 20px;
padding: 10px 20px;
background-color: #007aff;
color: white;
border: none;
border-radius: 5px;
}
</style>
如果上述代码在小米手机上仍然无法从相册获取图片,可能需要进一步检查以下几点:
- 确认小米手机的系统权限设置中,应用是否已经获得了访问相册的权限。
- 尝试在小米手机的开发者选项中,关闭MIUI优化,看是否影响功能。
- 检查是否有其他安全软件或系统级应用阻止了uni-app的访问。
如果问题依然存在,建议查看uni-app社区和小米开发者论坛,看是否有其他开发者遇到并解决了类似的问题。