123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- /**
- * Created by PhpStorm.
- * User: EDZ
- * Date: 2020/4/24
- * Time: 10:48
- */
- namespace app\common\controller;
- use OSS\Core\OssException;
- use OSS\OssClient;
- use think\Config;
- use think\Controller;
- use think\Image;
- use think\Request;
- class Aliyunoss
- {
- public function config()
- {
- $config = [ 'KeyId' => 'LTAIRkRNTUDJKj4Q', //Access Key ID
- 'KeySecret' => 'wwzTpuOeQPIpPgSpEG6n5MskPDs4CX', //Access Key Secret
- 'Endpoint' => 'oss-cn-huhehaote.aliyuncs.com', //阿里云oss 外网地址endpoint
- 'Bucket' => 'quyum', //Bucket名称
- // 'hostname' => 'quyum.oss-cn-huhehaote.aliyuncs.com', //Bucket 域名
- ];
- // $config = [ 'KeyId' => 'LTAI4GL7qTQwwU87nMsmAKmU', //Access Key ID
- // 'KeySecret' => '9ma10M1M3AgKjMSrYiMf5DgKr4jvWr', //Access Key Secret
- // 'Endpoint' => 'oss-cn-beijing.aliyuncs.com', //阿里云oss 外网地址endpoint
- // 'Bucket' => 'jiangnanmeiren', //Bucket名称
- // ];
- return $config;
- }
- public function uploadFile($file)
- {
- // $resResult = Image::open($file);
- $resResult=$file;
- // dump($file);die();
- // 尝试执行
- try {
- $config = $this->config(); //获取Oss的配置
- //实例化对象 将配置传入
- $ossClient = new OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint']);
- //这里是有sha1加密 生成文件名 之后连接上后缀
- // $fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $resResult->type();
- $fileName ="guanwang/". sha1(date('YmdHis', time()) . uniqid()) . '.' . "png";
- //执行阿里云上传
- // $result = $ossClient->uploadFile($config['Bucket'], $fileName, $file->getInfo()['tmp_name']);
- $result = $ossClient->uploadFile($config['Bucket'], $fileName, $file['tmp_name']);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- // dump($result);die();
- //将结果输出
- return $result['info']['url'];
- }
- //视频
- public function uploadVideo($file)
- {
- //上传视频到阿里云OSS
- $name = $file['name'];
- $format = strrchr($name, '.');
- $fileName = uniqid() . $format;
- //获取配置
- $config = $this->config(); //获取Oss的配置
- $ossClient = new OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint']);
- $uploadToAliyunOss = $ossClient->uploadFile($config['Bucket'], $fileName, $file['tmp_name']);
- if ($uploadToAliyunOss) {
- // 上传成功返回路径
- return $uploadToAliyunOss['info']['url'];
- } else {
- // 上传失败,打印错误信息
- halt($uploadToAliyunOss);
- }
- }
- }
|