laravel5.7 上传图片或视频到阿里云并截取视频图片

laravel5.7 上传图片或视频到阿里云并截取视频图片

# 前面是上传的教程 获取视频图片在最下面哦

第一步

申请阿里云账号并开通对象存储 将鼠标移至产品,单击对象存储 OSS,打开OSS 产品详情页面。
在OSS 产品详情页,单击立即开通。 申请地址:https://oss.console.aliyun.com

第二步

找到对象存储点击新建bucket:

  1. 名称可取项目名称
  2. 区域选择离你最近的城市 具体看个人要求
  3. 存储类型一般选择标准存储就可以 读写权限我用的是公共读写 具体看个人要求;

配置部分

在.env中添加配置
在这里插入图片描述
在config文件下面新建aliyuncsOss.php配置文件
在这里插入图片描述
下面我们来详细说一下这些配置参数怎么获取:
1.accesskeyId和accessKeySecret
登录阿里云账号后点击个人头像会出现如下列表
在这里插入图片描述
点击列表上的accessKeys会进到如下页面:
在这里插入图片描述
如果之前已经创建过直接复制到.env配置文件中即可
2. endpoint怎么获取 在对应的对象存储中有个地域节点
在这里插入图片描述
3. bucket 是你新建的bucket名称

代码部分

1.首先安装SDK composer 方式:
composer require aliyuncs/oss-sdk-php 运行此命令 或者在composer.json文件中添加依赖
在这里插入图片描述
运行composer install
安装完成后会在vendor下面生成对应的文件:
在这里插入图片描述
##控制器代码
1.引入这两行代码:
use OSS\Core\OssException;
use OSS\OssClient;
2.方法内容
/**

  • 简单上传图⽚片 *
  • @param $file //获取上传的文件 cover_img 是上传的参数名称
  • @param $fileName //上传的文件名 前面的upload和date是我自定义的上传目录 阿里云会自动生成 可自行更改
  • @param $path /获取上传图片的临时地址
  • @return u r l url 具体信息可把 url打印出来看
  • @throws OssException */
    public function index(Request $request)
    {
    try {
    $ossClient = new OssClient(
    config(‘aliyuncsOss.accessKeyId’),
    config(‘aliyuncsOss.accessKeySecret’),
    config(‘aliyuncsOss.endpoint’)
    );
    $file = $request->file(‘cover_img’);
    $fileName = ‘upload/’.date(‘Y-m-d’).’/’.str_random(5) . $file->getFilename() . time() . date(‘ymd’) . ‘.’ . $file->getClientOriginalExtension();
    $path = $file->getRealPath();
    $url = $ossClient->uploadFile(config(‘aliyuncsOss.bucket’), $fileName, $path);
    //具本的返回参数可把image打出来看
    return t h i s > a p i R e s p o n s e ( , 200 , this->apiResponse('上传成功',200, url[‘info’][‘url’]);
    } catch (OssException $e) {
    return $this->apiResponse(‘上传失败’,400);
    }
    }

##上传的是视频要显示图片在返回的连接下面添加?号后面的参数

举个例子:https://dings.oss-cn-shanghai.aliyuncs.com/upload/2019-04-30/KLKXGphpJ5V12T1556607053190430.mp4?x-oss-process=video/snapshot,t_10000,m_fast

到此就结束啦!

猜你喜欢

转载自blog.csdn.net/weixin_43311817/article/details/89737100