1.安装依赖
composer require freyo/flysystem-qcloud-cos-v5
2.添加服务
修改config/app.php文件,找到providers添加cos服务
Freyo\Flysystem\QcloudCOSv5\ServiceProvider::class,
3.添加文件存储驱动
修改config/filesystems.php文件,添加cos配置
'cosv5' => [
'driver' => 'cosv5',
'region' => env('COSV5_REGION', 'ap-guangzhou'),
'credentials' => [
'appId' => env('COSV5_APP_ID'),
'secretId' => env('COSV5_SECRET_ID'),
'secretKey' => env('COSV5_SECRET_KEY'),
],
'timeout' => env('COSV5_TIMEOUT', 60),
'connect_timeout' => env('COSV5_CONNECT_TIMEOUT', 60),
'bucket' => env('COSV5_BUCKET'),
'cdn' => env('COSV5_CDN'),
'scheme' => env('COSV5_SCHEME', 'https'),
],
4.添加配置
修改.env文件
COSV5_REGION=ap-beijing(地域)
COSV5_APP_ID=123456
COSV5_SECRET_ID=XXXXXXXXXX
COSV5_SECRET_KEY=XXXXXXXXXXXX
COSV5_TIMEOUT=60
COSV5_CONNECT_TIMEOUT=60
COSV5_BUCKET=桶名
COSV5_SCHEME=https
5.使用
引入类文件
public function upload_file(Request $request)
{
//对文件进行判断
$file = $request->file('file');
if(empty($file))
{
return json_encode(['msg'=>'文件不能为空','status'=>0]);
}
//上传文件
$disk = Storage::disk('cosv5');
$file_content = $disk -> put('文章',$file);//第一个参数是你储存桶里想要放置文件的路径,第二个参数是文件对象
$file_url = $disk->url($file_content);//获取到文件的线上地址
return json_encode(['msg'=>'上传成功','status'=>1,'data'=>['file_url' => $file_url]]);//返回参数
}