背景
Android移动端需要接入阿里云视频点播模块下的一个客户端上传的SDK。需要将移动端本地文件上传至阿里云服务器。
问题描述
调用方法及业务逻辑不赘述,贴张官方图,选择了上传地址和凭证的方法进行上传,并且是后台集成点播服务端SDK并调用相关接口获取或刷新上传地址和凭证,就是移动端调用接口直接从后端获取凭证,后端再通过服务器端SDK去获取凭证,后端获取凭证的同时也返回了视频ID和ImageUrl。这是重点,视频ID和ImageUrl是开始获取凭证的时候就获取了。
调用顺序及逻辑均正常,但是上传方法调用后报错。
2022-12-08 15:24:33.774 31765-1185/com.xxxx.xxxx W/System.err: java.lang.IllegalArgumentException: couldn't open /storage/emulated/0/Pictures/Screenshots/Screenshot_20221206_110619_com.android.permissioncontroller.jpg
2022-12-08 15:24:33.774 31765-1185/com.xxxx.xxxx W/System.err: at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:259)
2022-12-08 15:24:33.774 31765-1185/com.xxxx.xxxx W/System.err: at com.aliyun.vod.common.utils