猫猫儿
猫猫儿
  • 发布:2021-06-03 22:05
  • 更新:2021-06-15 11:04
  • 阅读:1735

【报Bug】【严重】Android11下选择公用图片仍然提示不支持

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: WIN10

HBuilderX类型: 正式

HBuilderX版本号: 3.1.16

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: Redmi Note 9 Pro

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

plus.gallery.pick()
uni.getFileInfo();

预期结果:

正常获取文件信息

实际结果:

提示code 15报错

bug描述:

在Android11下,使用plus.gallery.pick()API选取公用图片并传入uni.getFileInfo()时,会报错提示
“targetSdkVersion设置>=29后在Android10+系统设备不支持当前路径。请更改为应用运行路径!”
但pick()所获取的路径确认为公用目录(Pictures)。

获取的路径为:

file:///storage/emulated/0/Pictures/Weixin/mmexport1622726586687.jpg

尝试过将该图片移动到Pictures根目录中亦无果,值得注意的是同样的图片传入uni.getImageInfo是正常的。
这个BUG因为近期厂商大规模升级到Android11,已经非常多用户反馈,这直接导致图片、文件上传功能无法工作,非常严重影响到用户使用,希望尽快修复或提供临时方案。

2021-06-03 22:05 负责人:DCloud_Android_ST 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

问题已确认 临时方案 先把file://去掉

  • 猫猫儿 (作者)

    /storage/emulated/0/Pictures/mmexport1622726586687.jpg

    也还是一样的报错

    2021-06-04 18:01

  • DCloud_Android_ST

    我这边用HX3.1.16的默认基座测试 是通的 我们这边已经在处理 预计下个版本修复

    2021-06-04 18:23

  • 猫猫儿 (作者)

    回复 DCloud_Android_ST: 我也是3.1.16,我简化成只有这两个调用,并且新开了一个项目用默认基座尝试也还是一样,文件权限也授权了

    2021-06-04 21:49

  • 猫猫儿 (作者)

    plus.gallery.pick(

    async (data) => {

    let [err, fileInfo] = await uni.getFileInfo({

    filePath: data.replace(/file:\/\//g,'')

    });

    console.log(err, fileInfo,data.replace(/file:\/\//g,''));

    },

    err => {

    console.log(err);

    }

    );

    2021-06-04 21:49

  • 猫猫儿 (作者)

    这么严重的BUG修的这么慢....真的绝了....幸好上线时间没那么急,这个速度谁敢用在商业项目上?

    2021-06-11 22:21

DCloud_Android_ST

DCloud_Android_ST

HX 3.1.19.20210613-alpha 已修复

该问题目前已经被锁定, 无法添加新回复