yan9 / etocdn
Laravel 包
v1.2
2021-08-26 06:04 UTC
Requires
- php: >=7.0
README
Laravel 包
需求
安装
composer require yan9/etocdn
在 config/app.php
的 providers 数组中添加以下行
Yan9\Etocdn\EtocdnOssServiceProvider::class,
配置
'disks' => [
...
'etocdn' => [
'driver' => 'etocdn',
'accessKey' => env('ETOCDN_ACCESS_KEY'),
'secretKey' => env('ETOCDN_SECRET_KEY'),
'accessOrg' => env('ETOCDN_ACCESS_ORG'),
'accessBrand' => env('ETOCDN_ACCESS_BRAND'),
'accessIdcInfo' => env('ETOCDN_ACCESS_IDCINFO'), // 北京传1,苏州传2,深圳传3
'cdnEnv' => env('ETOCDN_CDNENV'), // PROD 为正式,其他全部为测试
'accessOs' => env('ETOCDN_ACCESS_OS'), // crm传1,etoshop传2,s2m传3,EMCN传4
'endpoint' => '',
'cdnDomain' => '',
'ssl' => true,
'isCName' => false,
'debug' => false,
],
...
]
用法
$image = $request->file('file');
if (!$image->isValid()) {
return '上传失败';
}
$ext = $image->getClientOriginalExtension();
$realPath = $image->getRealPath();
$filename = str_random() . '.' . $ext;
$filename = trim($filename, '/');
$storage = \Illuminate\Support\Facades\Storage::disk('etocdn');
Log::debug('OSS config:', [$filename]);
// 上传文件
$result = $storage->put($filename, file_get_contents($realPath));
if (!$result) return false;
var_dump($storage->url($filename));
// 上传单个url
$filename = 'aaaa.jpg';
$realPath = 'https://cdn.zxlycr.top/37/2021-02-24/37_20210224191240114.jpg';
$result = $storage->put($filename, $realPath);
if (!$result) return false;
var_dump($storage->url($filename));
// 批量上传url
// 如果需要自定义文件名称,请用单个url上传,批量上传不会采用自定义文件名称
// BatchUpload 为批量上传标识
// 上传会保留原始路径,如果以“/”结尾,会将“/”去掉
$realPath = [
'https://cdn.zxlycr.top/37/2021-02-24/37_20210224191240114.jpg',
'https://cdn.zxlycr.top/37/2021-02-25/aaaa.jpg'
];
$result = $storage->put('BatchUpload', serialize($realPath));
if (!$result) return false;
var_dump($storage->url($realPath));