Android uni-app uni.chooseImage 设置crop参数 不能得到裁剪后图片

Android uni-app uni.chooseImage 设置crop参数 不能得到裁剪后图片

操作步骤:

  • 打开app 我的 账户管理 选择头像

预期结果:

  • 获取到裁剪后的图片

实际结果:

  • 裁剪后 又跳转到 相册 ,不能得到裁剪后图片

bug描述:

Android uni.chooseImage 设置crop参数 裁剪后 又跳转到 相册 ,不能得到裁剪后图片 代码 片段如下

uni.chooseImage({
    count: 1,
    crop: {
        width: 200,
        height: 200
    },
    success: (res) => {

以前通过这段代码是可以获取到 裁剪后的图片的,近期升级hbuild后,Android 出现了上述问题,鸿蒙无此问题

附件

Screenrecorder-2025-11-25-17-33-52-959.zip

项目属性
产品分类 uniapp/App
PC开发环境 Windows
PC操作系统版本 Windows 11
HBuilderX类型 正式
HBuilderX版本 4.86
手机系统 Android
手机系统版本 Android 12
手机厂商 小米
手机机型 mi 10s
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

更多关于Android uni-app uni.chooseImage 设置crop参数 不能得到裁剪后图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

这个官方已确认的bug 类似问题:https://ask.dcloud.net.cn/question/215441

更多关于Android uni-app uni.chooseImage 设置crop参数 不能得到裁剪后图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是HBuilderX 4.86版本在Android平台上的一个已知兼容性问题。uni.chooseImagecrop参数在某些Android机型上确实存在裁剪后无法正确返回图片的bug。

临时解决方案:

  1. 降级HBuilderX版本:暂时回退到4.85或更早的稳定版本
  2. 使用原生插件:改用uni.chooseMedia或图像裁剪插件
  3. 手动裁剪:先获取原图,再通过canvas或第三方裁剪库处理

代码调整示例:

// 方案1:尝试使用uni.chooseMedia
uni.chooseMedia({
  count: 1,
  mediaType: ['image'],
  sourceType: ['album', 'camera'],
  crop: { width: 200, height: 200 },
  success: (res) => {
    console.log(res.tempFiles[0].tempFilePath)
  }
})

// 方案2:取消crop,后续手动裁剪
uni.chooseImage({
  count: 1,
  success: (res) => {
    // 在此处调用自定义裁剪组件
    this.cropImage(res.tempFilePaths[0])
  }
})
回到顶部