问题描述
- 使用wx.chooseMedia选择图片和视频,使用wx.previewMedia预览图片和视频。
- 小程序开发工具和安卓手机中选择和预览都正常。
- 苹果iOS环境下选择和预览视频不行。
问题代码
wx.chooseMedia({
mediaType:['video'],
sourceType:['camera'],
maxDuration:90, //设置了90秒
camera:'back',
success(res){
console.log('tempFiles',res.tempFiles[0].tempFilePath);
wx.uploadFile({
filePath: res.tempFiles[0].tempFilePath,
name: 'files',
url: app.globalData.base_url+'api/Api/upload_file',
formData: {
"openId":that.data.openInfo.openId,
},
method:'POST',
header: {
'content-type': 'multipart/form-data'
},
success:(res)=>{}
}
})
问题原因
苹果iOS环境下wx.chooseMedia返回值中没有fileType属性,我的代码中使用了fileType值判断选择的是图片还是视频,并做相应的预览。
解决办法:
- 使用duration属性判断是图片还是视频,图片没有该属性
- wx.chooseMedia(object)的maxDuration属性最大值为60,请勿设置超过60。安卓不受限制,iOS受限制
问题代码
wx.chooseMedia({
mediaType:['video'],
sourceType:['camera'],
maxDuration:60, //属性最大值是60秒
camera:'back',
success(res){
console.log('tempFiles',res.tempFiles[0].tempFilePath);
wx.uploadFile({
filePath: res.tempFiles[0].tempFilePath,
name: 'files',
url: app.globalData.base_url+'api/Api/upload_file',
formData: {
"openId":that.data.openInfo.openId,
},
method:'POST',
header: {
'content-type': 'multipart/form-data'
},
success:(res)=>{}
}
})
本文来自博客园,作者:depressiom,转载请注明原文链接:https://www.cnblogs.com/depressiom/p/16531465.html