安卓设备微信小程序,在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);
}