laravel 使用腾讯云 COS5全教程
首先第一步肯定是用composer把包安装下来,这里是laravel5.8版本的,所以我用的是cos5
composer require freyo/flysystem-qcloud-cos-v5
二 配置
1、在config/app.php进行添加
'providers' => [// ...Freyo\Flysystem\QcloudCOSv5\ServiceProvider::class,
]
2、配置config/filesystems.php:
'disks'=>[// ...'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'),'read_from_cdn' => env('COSV5_READ_FROM_CDN', false),],
],
3、配置.env: 注意:把\\后面的都去掉
COSV5_APP_ID=//控制台可以看见的appid
COSV5_SECRET_ID=//控制台可以看见的SecretId
COSV5_SECRET_KEY=//控制台可以看见的SecretKey
COSV5_TIMEOUT=60
COSV5_CONNECT_TIMEOUT=60
COSV5_BUCKET=
COSV5_REGION=ap-guangzhou//所属地域,这里如果配置了就不用在config里面配置
COSV5_CDN= #https://{your-bucket-name}-{your-app-id}.file.myqcloud.com
COSV5_SCHEME=https
COSV5_READ_FROM_CDN=false
4、如果出现如下报错
laravel Driver [] is not supported.
请在cmd中执行以下操作
php artisan config:cache
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('video_class',$file);//第一个参数是你储存桶里想要放置文件的路径,第二个参数是文件对象$file_url = $disk->url($file_content);//获取到文件的线上地址return json_encode(['msg'=>'上传成功','status'=>1,'data'=>['file_url' => $file_url]]);//返回参数}