laravel5.7 上传图片或视频到阿里云并截取视频图片
# 前面是上传的教程 获取视频图片在最下面哦
第一步
申请阿里云账号并开通对象存储 将鼠标移至产品,单击对象存储 OSS,打开OSS 产品详情页面。
在OSS 产品详情页,单击立即开通。 申请地址:https://oss.console.aliyun.com
第二步
找到对象存储点击新建bucket:
- 名称可取项目名称
- 区域选择离你最近的城市 具体看个人要求
- 存储类型一般选择标准存储就可以 读写权限我用的是公共读写 具体看个人要求;
配置部分
在.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具体信息可把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, 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
到此就结束啦!对您有帮助的话 可以打赏一下本宝宝~