uniapp choosemedia如何使用

在uniapp中使用choosemedia时遇到问题,具体表现为选择图片或视频后无法正确获取文件路径,且回调函数不执行。请问该如何正确配置choosemedia的参数?官方文档中的示例代码试过但无效,是否需要额外权限配置?在H5和微信小程序平台表现不一致该如何解决?

2 回复

uniapp的chooseMedia方法用于选择媒体文件。用法:

uni.chooseMedia({
  count: 9, // 最多可选数量
  mediaType: ['image','video'], // 文件类型
  sourceType: ['camera','album'], // 来源
  success(res) {
    console.log(res.tempFiles) // 临时文件路径
  }
})

支持图片和视频选择,可调用相机或相册。


在 UniApp 中,uni.chooseMedia 用于从相册或相机选择图片、视频等媒体文件。以下是基本使用方法:

代码示例

uni.chooseMedia({
  count: 9, // 最多可选数量
  mediaType: ['image','video'], // 文件类型
  sourceType: ['album','camera'], // 来源相册/相机
  maxDuration: 30, // 视频最大时长(秒)
  camera: 'back', // 相机前后置
  success: (res) => {
    console.log('文件列表:', res.tempFiles)
    // 返回的临时路径可用于预览或上传
  },
  fail: (err) => {
    console.error('选择失败:', err)
  }
})

参数说明

  • count: 最大选择数量(默认9)
  • mediaType: 文件类型,可选 image/video/mix
  • sourceType: 来源 album/camera
  • sizeType: 压缩选项(仅小程序有效)
  • maxDuration: 视频最大时长
  • camera: 相机方向 front/back

注意事项

  1. 临时路径在应用关闭后失效
  2. 小程序端部分参数有平台差异
  3. 需在 manifest.json 配置相关权限

返回结构

{
  tempFiles: [{
    tempFilePath: '', // 临时路径
    size: 12345,     // 文件大小
    duration: 15,    // 视频时长
    height: 1920,    // 高
    width: 1080      // 宽
  }]
}

建议在实际使用时添加用户授权处理,并注意各平台的兼容性差异。

回到顶部