问题重现:
使用uni-app中开发APP的过程中:uni.chooseVideo和uni.chooseImage进行上传视频和图片时,如果先选择拍摄时无法进行视频或图片的上传;
问题分析:
当时困惑了好久,在网上找方法好像没有能解决,后来发现如果先上传本地图片,再去拍摄,拍摄的照片就能进行上传,就想到了是授权的问题;我们在没有授权照片和文件权限的时,直接去吊起相机进行拍摄,这时只会吊起授权相机的权限,而没有授权照片和文件的权限,此时就无法进行图片或视频上传;
解决方案:
我们要在吊起拍摄权限之前要确保已经吊起了照片和文件权限,找了一些解决方案,觉得在进入APP时就授权照片和文件权限是最简单粗暴的解决方案;
/* android打包配置 */
"android" : {
"permissionExternalStorage" : {
"request" : "always",//可选项none:不进行授权操作;once:只授权一次用户可拒绝;always:用户不可拒绝,拒绝将退出APP
"prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
}
},