fix: 修改京东云驱动 使用aws插件

This commit is contained in:
Gosowong 2023-06-05 16:21:51 +08:00
parent 5ccf124c35
commit ee194ab467

View File

@ -2,8 +2,9 @@
namespace crmeb\services\upload\storage;
use Aws\S3\S3Client;
use crmeb\exceptions\UploadException;
use crmeb\services\upload\BaseUpload;
use crmeb\services\upload\extend\jdoss\Client as CrmebClient;
/**
* 京东云COS文件上传
@ -34,7 +35,7 @@ class Jdoss extends BaseUpload
/**
* 句柄
* @var CrmebClient
* @var S3Client
*/
protected $handle;
@ -95,17 +96,25 @@ class Jdoss extends BaseUpload
}
/**
* 实例化cos
* @return CrmebClient
* @return S3Client
*
* @date 2023/06/05
* @author yyw
*/
protected function app()
{
$this->handle = new CrmebClient([
'accessKey' => $this->accessKey,
'secretKey' => $this->secretKey,
if (!$this->accessKey || !$this->secretKey) {
throw new UploadException(400721);
}
$this->handle = new S3Client([
'version' => 'latest',
'region' => $this->storageRegion,
'bucket' => $this->storageName,
'uploadUrl' => $this->uploadUrl
'endpoint' => "http://s3.{$this->storageRegion}.jdcloud-oss.com",
'signature_version' => 'v4',
'credentials' => [
'key' => $this->accessKey,
'secret' => $this->secretKey,
],
]);
return $this->handle;
}
@ -147,7 +156,9 @@ class Jdoss extends BaseUpload
$app = $this->app();
//检测桶
try {
$app->headBucket($name);
$app->headBucket([
'Bucket' => $name
]);
} catch (\Throwable $e) {
//桶不存在返回404
if (strstr('404', $e->getMessage())) {
@ -156,7 +167,10 @@ class Jdoss extends BaseUpload
}
//创建桶
try {
$res = $app->createBucket($name, $region, $acl);
$res = $app->createBucket([
'Bucket' => $name,
'ACL' => $acl,
]);
} catch (\Throwable $e) {
if (strstr('[curl] 6', $e->getMessage())) {
return $this->setError('COS:无效的区域!!');