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]]);//返回参数
}