1
This commit is contained in:
@@ -68,10 +68,22 @@ class OssService
|
||||
// 生成 OSS 私有 URL
|
||||
$url = $this->ossClient->signUrl($this->bucket, $objectKey, $expireTime);
|
||||
|
||||
// 修复签名编码问题
|
||||
$url = str_replace('%253D', '%3D', $url);
|
||||
$url = str_replace('%252F', '%2F', $url);
|
||||
$url = str_replace('%252B', '%2B', $url);
|
||||
// 解析 URL 以获取查询参数
|
||||
$parsedUrl = parse_url($url);
|
||||
parse_str($parsedUrl['query'], $queryParams);
|
||||
|
||||
// 重新构建 URL,确保参数正确编码
|
||||
$baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . $parsedUrl['path'];
|
||||
$queryString = http_build_query($queryParams);
|
||||
|
||||
// 修复编码问题
|
||||
$queryString = str_replace('%253D', '%3D', $queryString);
|
||||
$queryString = str_replace('%252F', '%2F', $queryString);
|
||||
$queryString = str_replace('%252B', '%2B', $queryString);
|
||||
$queryString = str_replace('%2525', '%25', $queryString);
|
||||
|
||||
// 重新组合 URL
|
||||
$url = $baseUrl . '?' . $queryString;
|
||||
|
||||
return $url;
|
||||
} catch (OssException $e) {
|
||||
|
||||
Reference in New Issue
Block a user