调用SDK的uploadFile上传视频,开发工具上没问题,真机调试报错(后缀名校验不通过)
具体代码
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
success(res) {
const options = {
filePath: res.tempFilePath,
};
console.log(options);
mpserverless.file.uploadFile(options)
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
}
});
报错信息
SDK:
"@alicloud/mpserverless-sdk": "^3.1.5"
文档地址uploadFile
不要答非所问,我问的是sdk真机调试,云存储上传视频报后缀名校验不通过,实际上是符合校验规则的,,,,,
如果您在使用EMAS Serverless文件存储上传视频时,在微信小程序真机上遇到了错误,请尝试以下解决方法:
检查网络连接:确保您的微信小程序真机设备能够正常连接到互联网,以确保可以正常进行文件上传操作。
检查权限设置:在微信小程序真机环境中,需要确保您已经在小程序的配置文件(app.json)中添加了合适的权限声明,包括文件上传的权限。请确保已经正确配置了相关权限。
检查文件大小限制:EMAS Serverless文件存储对文件大小有一定的限制,通常最大支持上传几十MB的文件。请确保您要上传的视频文件大小不超过限制范围。
调试错误信息:在微信小程序真机环境中,可以通过开启调试模式,并使用微信开发者工具的控制台功能来查看具体的错误信息。请检查控制台是否有相关的错误提示或警告信息,以帮助您定位和解决问题。
更新SDK版本:如果您正在使用EMAS Serverless的旧版本SDK,建议尝试更新为最新的SDK版本,以获得更好的兼容性和稳定性。
咨询技术支持:如果以上解决方法仍然无法解决问题,建议您联系EMAS Serverless的技术支持团队,向他们详细描述您的问题,并提供相关的错误信息和设备环境信息,以获得更专业的帮助和支持。
API 有后缀名限制???
这条报错信息表明:你上传的视频文件后缀名(.mp4)不在微信小程序文件的后缀名白名单中。
Error: 参数校验错误: options.extension should be one of .jpg,.jpeg,...
.mp4,.mpeg.
options.extension 指的是上传的文件后缀名。
该列表中的后缀名才允许微信小程序进行文件上传。
而你上传的文件(wxfile://tmp_8b37eea5958a363980e048a9adf536f54e91f2588f7b4bb8.mp4)后缀名是.mp4,不在白名单中。
为了解决这个问题,你有几个选择:
修改视频文件后缀名,使用白名单中的后缀上传。比如改为.mp3。
使用服务端上传接口,在服务端上传文件再返回路径给小程序。
使用第三方云存储SDK,它可能对后缀名要求不那么严格。
联系微信开发者平台,申请他们添加.mp4到后缀名白名单中。
尝试更换其他允许.mp4后缀的小程序文件上传方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。