标准基座/自定义基座运行uni-app uni.chooseMedia报错

标准基座/自定义基座运行uni-app uni.chooseMedia报错

开发环境 版本号 项目创建方式
Windows win 10 HBuilderX

示例代码:

uni.chooseMedia({
mediaType: ['image'],
success: function (res) {
console.log(res)
}
})

操作步骤:

uni.chooseMedia({
mediaType: ['image'],
success: function (res) {
console.log(res)
}
})

预期结果:

正常回调,唤起选择文件

实际结果:

hb控制台报错提示:

Error: 返回值为:"";请求参数为:{"moduleName":"uni-chooseMedia","moduleType":"built-in","package":"uts.sdk.modules.DCloudUniChooseMedia","class":"IndexKt","name":"chooseMediaByJs","type":"method","method":[{"name":"options","type":"UTSSDKModulesDCloudUniChooseMediaChooseMediaOptionsJSONObject"}],"nested":false,"keepAlive":false,"params":[{"mediaType":["mix"],"success":1}]}

bug描述:

使用uni.chooseMedia选择图片文件,就一段普通的代码写了其他参数就报错,不写其他参数,只保留success回调,就能正常运行。模块也勾选了camera和gallery
控制台报错信息:

Error: 返回值为:"";请求参数为:{"moduleName":"uni-chooseMedia","moduleType":"built-in","package":"uts.sdk.modules.DCloudUniChooseMedia","class":"IndexKt","name":"chooseMediaByJs","type":"method","method":[{"name":"options","type":"UTSSDKModulesDCloudUniChooseMediaChooseMediaOptionsJSONObject"}],"nested":false,"keepAlive":false,"params":[{"mediaType":["mix"],"success":1}]}

更多关于标准基座/自定义基座运行uni-app uni.chooseMedia报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于标准基座/自定义基座运行uni-app uni.chooseMedia报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从报错信息来看,问题出现在mediaType参数设置上。错误信息显示传递的参数为{"mediaType":["mix"]},但mix并不是uni.chooseMedia支持的合法媒体类型。

uni.chooseMedia支持的mediaType参数值应为:

  • 'image' - 仅选择图片
  • 'video' - 仅选择视频
  • ['image','video'] - 同时选择图片和视频

在您的代码中,当添加其他参数时可能错误地将mediaType设置为了['mix'],而系统无法识别这个值,导致底层UTS模块调用失败。

解决方案:

  1. 检查代码中是否在其他地方修改了mediaType参数值
  2. 确保mediaType只使用合法的值:'image''video'['image','video']
  3. 如果需要在图片和视频间切换,建议使用条件判断来设置正确的mediaType

正确的参数配置示例:

uni.chooseMedia({
    count: 9,
    mediaType: ['image'],
    sourceType: ['album', 'camera'],
    success: function (res) {
        console.log(res)
    }
})
回到顶部