等下班
等下班
  • 发布:2025-07-07 17:25
  • 更新:2025-07-23 10:31
  • 阅读:742

【报Bug】安卓uni.chooseMedia 设置 sourceType为 ['camera'], mediaType为['image', 'video'] 选择选择视频后返回的文件路径有问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 4.65

手机系统: Android

手机系统版本号: Android 15

手机厂商: OPPO

手机机型: FINDX 7

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.chooseMedia({
count,
mediaType: ['mix'], // 支持图片和视频
sourceType: ['album'], // 可以选择相册
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
maxDuration: 60, // 视频最大时长
success: (res) => handleMediaUpload(res, compress, resolve, reject),
fail: (err) => reject(err),
})

操作步骤:

uni.chooseMedia({
count,
mediaType: ['mix'], // 支持图片和视频
sourceType: ['album'], // 可以选择相册
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
maxDuration: 60, // 视频最大时长
success: (res) => handleMediaUpload(res, compress, resolve, reject),
fail: (err) => reject(err),
}) 在安卓13以上中选择视频

预期结果:

返回以file:// 开头的临时路径

实际结果:

返回以content:// 开头的协议路径

bug描述:

安卓uni.chooseMedia 设置 sourceType为 ['camera'], mediaType为['image', 'video'] 选择选择视频后返回的tempFilePath为content://media/picker/0/com.android.providers.media.photopicker/media/xxxxxx Android 中的 Content URI,用于不了上传,不借助原生插件也转不了临时路径

2025-07-07 17:25 负责人:DCloud_Android_zl 分享
已邀请:
DCloud_Android_THB

DCloud_Android_THB

uploadfile支持content://路径

  • 等下班 (作者)

    我现在还需要本地使用uni.compressVideo压缩视频,还有个问题是这样怎么拿到文件类型后缀呢?

    2025-07-08 11:23

  • DCloud_Android_THB

    回复 等下班: 你的意思是compressVideo不支持content://路径? 获取视频信息可以用uni.getVideoInfo

    2025-07-08 15:16

  • 等下班 (作者)

    回复 DCloud_Android_THB: try {

    uni.compressVideo({

    src: path,

    quality: 'medium',

    success: (res) => {

    console.log(res, '压缩视频成功')

    resolve(res.tempFilePath)

    },

    fail: (err) => {

    console.log(err, '压缩视频失败')

    reject(err)

    },

    complete: () => {

    console.log('压缩视频失败')

    uni.hideLoading()

    },

    })

    uni.getVideoInfo({

    src: path,

    success: (res) => {

    console.log(res, '获取视频信息成功')

    },

    fail: (err) => {

    console.log(err, '获取视频信息失败')

    },

    })

    } catch (error) {

    console.log(error, '压缩视频异常')

    } 使用uni.compressVideo一直在pending中 不会进成功失败回调。 使用uni.getVideoInfo 报错{"errMsg":"getVideoInfo:fail targetSdkVersion设置>=29后在Android10+系统设备不支持当前路径。请更改为应用运行路径!具体请看:https://ask.dcloud.net.cn/article/36199","code":15}

    2025-07-08 16:07

  • DCloud_Android_zl

    回复 等下班: 好的,我这边看一下

    2025-07-08 17:04

  • 等下班 (作者)

    回复 DCloud_Android_zl: 这个问题有结论了吗?

    2025-07-15 16:56

  • d***@163.com

    回复 等下班: 你好,这个问题解决了吗?

    2025-07-17 10:35

  • 等下班 (作者)

    回复 d***@163.com: 没回复了

    2025-07-17 16:13

a***@lanxiniu.com

a***@lanxiniu.com

后缀如何判断?

要回复问题请先登录注册