laravel laravel-filesystem-qiniu上传文件到七牛云存储
场景:轮子介绍用法实列场景:个人的云服务器可能过了一些年可能会不在续费,所以有些文档就没有办法保存在个人服务器上了, 站点的迁移很麻烦公司的站点有些时候需要文件服务器来支撑多文件的情况,这时候考虑云存储也是不错的轮子介绍专门为laravel开发的轮子,配置简单(包括在laravel中以及七牛云中)名称overtrue/laravel...
·
场景:
- 个人的云服务器可能过了一些年可能会不在续费,所以有些文档就没有办法保存在个人服务器上了,
站点的迁移很麻烦
- 公司的站点 有些时候需要文件服务器来支撑多文件的情况,这时候考虑云存储也是不错的
轮子介绍
专门为laravel开发的轮子,配置简单(包括在laravel中以及七牛云中)
- 名称
overtrue/laravel-filesystem-qiniu
- 地址
https://github.com/overtrue/laravel-filesystem-qiniu
- 名称
用法
- laravel 方面
- 安装
composer require "overtrue/laravel-filesystem-qiniu"
- 配置 config/app.php
- 添加 Overtrue\LaravelFilesystem\Qiniu\QiniuStorageServiceProvider::class,
- 配置config/filesystems.php
- 添加 ‘disks’ => [
//…
‘qiniu’ => [
‘driver’ => ‘qiniu’,
‘access_key’ => env(‘QINIU_ACCESS_KEY’, ‘xxxxxxxxxxxxxxxx’),
‘secret_key’ => env(‘QINIU_SECRET_KEY’, ‘xxxxxxxxxxxxxxxx’),
‘bucket’ => env(‘QINIU_BUCKET’, ‘test’),
‘domain’ => env(‘QINIU_DOMAIN’, ‘xxx.clouddn.com’), // or host: https://xxxx.clouddn.com
],
]
- 添加 ‘disks’ => [
- 安装
- 七牛云
- 注册账号, 配置存储空间, 配置CDN域名
- 调用
- CDN域名+文件路径
- over
实列
- 上传头像到七牛云
/**
* 上传文件的头像
* @throws \Exception
*/
public function avatarUpload()
{
if (!request()->hasFile('img_avatar')) {
throw new \Exception('缺少上传的图像文件');
}
// 存储图片
$file_name = '/avatars/' . md5(time() . user()->id) . '.' . request()->img_avatar->extension();
// 存储到七牛云
$response_upload = \Storage::disk('qiniu')->put($file_name, fopen(request()->img_avatar, 'r'));
if ($response_upload === false) {
throw new \Exception('上传到七牛云失败');
}
// 更新用户的avatar
$avatar = 'http://' . env('QINIU_DOMAIN') . $file_name;
$id = user()->id;
User::where(compact('id'))->update(compact('avatar'));
return $avatar;
}
更多推荐
所有评论(0)