收藏
回答

安卓设备,video组件不能播放oss v4签名的视频

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug video 微信安卓客户端 8.0.60 3.8.5

安卓设备微信小程序,在video播放视频时,传递了一个 content-type:空字符串. 导致oss端验签失败.

浏览器,ios手机,微信开发者工具,都没有这个问题.

GET

/test2b/out.mp4

x-oss-credential=LTAI5t7eZR5NtpQ2o3j6va4f%2F20250519%2Fcn-hangzhou%2Foss%2Faliyun_v4_request&x-oss-date=20250519T031830Z&x-oss-expires=604800&x-oss-signature-version=OSS4-HMAC-SHA256

content-type:



UNSIGNED-PAYLOAD




经过测试,签名时主动加上content-type空字符串, 安卓设备微信小程序video就可以正常播放了.

$options = array(

OssClient::OSS_CONTENT_TYPE => '',

);

$ossClient = new OssClient($config);

return $ossClient->signUrl('test2b', $object, 32400, 'GET',$options);


修改OssClient.php

foreach ($headers as $header_key => $header_value) {

$header_value = trim($header_value);

// if (empty($header_value)) {

// continue;

// }

$request->add_header($header_key, $header_value);

}

最后一次编辑于  1天前
回答关注问题邀请回答
收藏
登录 后发表内容