1
This commit is contained in:
+15
-12
@@ -16,16 +16,19 @@ class OssService
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->accessKeyId = env('OSS_ACCESS_KEY_ID');
|
$this->accessKeyId = getenv('OSS_ACCESS_KEY_ID');
|
||||||
$this->accessKeySecret = env('OSS_ACCESS_KEY_SECRET');
|
$this->accessKeySecret = getenv('OSS_ACCESS_KEY_SECRET');
|
||||||
$this->bucket = 'vehicle-album';
|
$this->bucket = getenv('OSS_BUCKET', 'vehicle-album');
|
||||||
$this->endpoint = env('OSS_ENDPOINT', 'https://oss-cn-beijing.aliyuncs.com');
|
$this->endpoint = getenv('OSS_ENDPOINT', 'https://oss-cn-beijing.aliyuncs.com');
|
||||||
var_dump($this->endpoint);
|
|
||||||
|
|
||||||
// 记录配置信息
|
// 记录配置信息
|
||||||
|
error_log("OSS Configuration:");
|
||||||
|
error_log("AccessKeyId: " . substr($this->accessKeyId, 0, 4) . "****");
|
||||||
|
error_log("Bucket: " . $this->bucket);
|
||||||
|
error_log("Endpoint: " . $this->endpoint);
|
||||||
|
|
||||||
$this->ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
|
$this->ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
|
||||||
|
|
||||||
// 测试连接
|
// 测试连接
|
||||||
$this->ossClient->doesBucketExist($this->bucket);
|
$this->ossClient->doesBucketExist($this->bucket);
|
||||||
} catch (OssException $e) {
|
} catch (OssException $e) {
|
||||||
@@ -64,18 +67,18 @@ class OssService
|
|||||||
try {
|
try {
|
||||||
// 生成 OSS 私有 URL
|
// 生成 OSS 私有 URL
|
||||||
$url = $this->ossClient->signUrl($this->bucket, $objectKey, $expireTime);
|
$url = $this->ossClient->signUrl($this->bucket, $objectKey, $expireTime);
|
||||||
|
|
||||||
// 解析 URL 以获取查询参数
|
// 解析 URL 以获取查询参数
|
||||||
$parsedUrl = parse_url($url);
|
$parsedUrl = parse_url($url);
|
||||||
parse_str($parsedUrl['query'], $queryParams);
|
parse_str($parsedUrl['query'], $queryParams);
|
||||||
|
|
||||||
// 重新构建 URL,使用 rawurlencode 确保正确的编码
|
// 重新构建 URL,使用 rawurlencode 确保正确的编码
|
||||||
$baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . $parsedUrl['path'];
|
$baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . $parsedUrl['path'];
|
||||||
$queryString = http_build_query($queryParams, '', '&', PHP_QUERY_RFC3986);
|
$queryString = http_build_query($queryParams, '', '&', PHP_QUERY_RFC3986);
|
||||||
|
|
||||||
// 重新组合 URL
|
// 重新组合 URL
|
||||||
$url = $baseUrl . '?' . $queryString;
|
$url = $baseUrl . '?' . $queryString;
|
||||||
|
|
||||||
return $url;
|
return $url;
|
||||||
} catch (OssException $e) {
|
} catch (OssException $e) {
|
||||||
error_log("OSS Error: " . $e->getMessage());
|
error_log("OSS Error: " . $e->getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user