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/mixsourceType: 来源 album/camerasizeType: 压缩选项(仅小程序有效)maxDuration: 视频最大时长camera: 相机方向 front/back
注意事项
- 临时路径在应用关闭后失效
- 小程序端部分参数有平台差异
- 需在 manifest.json 配置相关权限
返回结构
{
tempFiles: [{
tempFilePath: '', // 临时路径
size: 12345, // 文件大小
duration: 15, // 视频时长
height: 1920, // 高
width: 1080 // 宽
}]
}
建议在实际使用时添加用户授权处理,并注意各平台的兼容性差异。

