当前位置: 首页 > news >正文

群控系统服务端开发模式-应用开发-腾讯云上传工厂及七牛云上传工厂开发

        记住业务流程图,要不然不清楚自己封装的是什么东西。

一、腾讯云工厂开发

        切记在根目录下要安装腾讯云OSS插件,具体代码如下:

composer require qcloud/cos-sdk-v5

        在根目录下extend文件夹下Upload文件夹下channel文件夹中,我们修改TencentUpload业务控制器。具体代码如下:

<?php
/*** 腾讯云上传工厂* User: 龙哥 三年风水* Date: 2024/11/2/0002* Time: 18:18*/
namespace Upload\channel;
use Qcloud\Cos\Client;
use Upload\UploadHandle;
use Error\BaseError;
class TencentUpload extends UploadHandle
{protected $accessKey = '';//access_keyprotected $secretKey = '';//secret_keyprotected $bucket = '';//包protected $name = '';//访问地址protected $domainName = '';//访问地址public function __construct($param){$this->accessKey = $param['access_key'];$this->secretKey = $param['secret_key'];$this->bucket = $param['bucket'];$this->name = $param['name'];$this->domainName = $param['domain_name'];}/*** 上传操作* @ param $object 加密后的文件* @ param $filePath 临时存放的文件路径* @ return mixed*/public function uploadFile($object, $filePath){$ossClient = new Client(array('region' => 'ap-nanjing','schema' => 'http', //协议头部,默认为http'credentials' => array('secretId' => $this->accessKey,'secretKey' => $this->secretKey)));try {$file = fopen($filePath,'rb');if ($file) {$res = $ossClient->Upload($this->bucket, $object,$file);if($res==true)return empty($this->domainName) ? $this->name.'/'.$res['Key'] : $this->domainName.'/'.$res['Key'];}} catch (\Exception $e) {throw new BaseError($e->getMessage(),50000,200);}}/*** 删除操作* @ param $object 具体的文件地址* @ return mixed*/public function deleteFile($object){// TODO: Implement deleteFile() method.}
}

二、七牛云工厂开发

        切记在根目录下要安装七牛云OSS插件,具体代码如下:

composer require qiniu/php-sdk

        在根目录下extend文件夹下Upload文件夹下channel文件夹中,我们修改QiniuyunUpload业务控制器。具体代码如下:

<?php
/*** 七牛云上传工厂* User: 龙哥 三年风水* Date: 2024/11/2/0002* Time: 18:19*/
namespace Upload\channel;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use Upload\UploadHandle;
use Error\BaseError;
class QiniuyunUpload extends UploadHandle
{protected $accessKey = '';//access_keyprotected $secretKey = '';//secret_keyprotected $bucket = '';//包protected $name = '';//访问地址protected $domainName = '';//访问地址public function __construct($param){$this->accessKey = $param['access_key'];$this->secretKey = $param['secret_key'];$this->bucket = $param['bucket'];$this->name = $param['name'];$this->domainName = $param['domain_name'];}/*** 上传操作* @ param $object 加密后的文件* @ param $filePath 临时存放的文件路径* @ return mixed*/public function uploadFile($object, $filePath){$auth = new Auth($this->accessKey,$this->secretKey);$token = $auth->uploadToken( $this->bucket);$uploadMgr = new UploadManager();list($info, $error) = $uploadMgr->putFile($token, $object, $filePath);if(!empty($error) && empty($info['key']))throw new BaseError($error,50000,200);return $this->name.'/'.$info['key'];}/*** 删除操作* @ param $object 具体的文件地址* @ return mixed*/public function deleteFile($object){// TODO: Implement deleteFile() method.}
}

三、提前说明

        明天开发上传接口及调试,如果有时间的情况下,就将删除补充起来。

http://www.lryc.cn/news/475651.html

相关文章:

  • 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
  • 《计算机原理与系统结构》学习系列——处理器(下)
  • JDK新特性(8-21)数据类型-直接内存
  • 003-Kotlin界面开发之声明式编程范式
  • QT pro项目工程的条件编译
  • 深度学习之经典网络-AlexNet详解
  • 部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio
  • 结合 Spring Boot Native 和 Spring Boot 构建高性能服务器架构
  • ArcGIS影像调色(三原色)三原色调整
  • SQLite从入门到精通面试题及参考答案
  • 【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供
  • Git 的特殊配置文件
  • 数据的表现形式(1)
  • 《高频电子线路》—— 调幅
  • ubuntu22.04安装ROS2Humble
  • 软中端,硬中断(学习笔记)
  • scIDST:弱监督学习推断单细胞转录组数据中的疾病进展阶段
  • Linux 下执行定时任务之 Systemd Timers
  • flutter 专题二 Flutter状态管理之Riverpod 0.8.4
  • 【Linux】从零开始使用多路转接IO --- poll
  • Docker配置宿主机目录和网络映射
  • 第十七课 component组件解析
  • 求余和求模是不是一样的,就要看看计算机中的 fix 和 floor 区别
  • 00 递推和递归的核心讲解
  • 深度学习常用开源数据集介绍【持续更新】
  • rust编写的系统监测器
  • 【MyBatis源码】CacheKey缓存键的原理分析
  • 034_Structural_Transient_In_Matlab结构动力学问题求解
  • 项目模块十五:HttpResponse模块
  • 推荐一款优秀的pdf编辑器:Ashampoo PDF Pro