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

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

一、腾讯云工厂开发

        切记在根目录下要安装腾讯云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.xdnf.cn/news/1048.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读神器:没时间读文献,谷歌AI工具NotebookLM 带你5分钟听懂一篇论文

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 读文献太慢&#xff0c;新文献根本读不完怎么办&#xff1f;谷歌的AI工具&#xff0c;NotebookLM&#xff0c;带你像听播客一样轻松“听”文献&#xff0c;短短几分钟内抓住论…

pycharm configurations中配置运行fastapi项目

环境 windows11 python3.11 fastapi0.115 使用virtualenv安装fastapi uvicorn pip install fastapi pip install uvicorn目的 在pycharm中可以一键运行&#xff0c;直接把命令行的运行参数配置到pycharm中, 即使用"uvicorn main:app --reload"运行main文件 配置 …

Bypassuac之白名单结合注册表方式

参考 Bypass UAC 原来这么简单 本章记录一下系统白名单文件结合注册表bypassuac&#xff0c;uac这个东西并不是Windows设置的防御机制而是相当于保护机制&#xff0c;只是用来控制用户行为的&#xff0c;弹个窗来提醒一下用户的行为&#xff0c;和直接的杀软是不一样的性质&am…

Canvas字体高度计算与PDF高度如何统一

因为英文书写时并不是像汉字一样就是一个方块字&#xff0c;比如下图p有部分是在基线以下&#xff0c;其他的字体都是以基线为参照书写&#xff0c;所以在Canvas中字(或字母)所占的高度是&#xff1a; metrics.boundingBoxAscent metrics.boundingBoxDescent上行间距下行间距…

UV紫外相机

在产业设备领域&#xff0c;运用相机进行检测的需求很大&#xff0c;应用也很多样&#xff0c;对于图像传感器性能的期望逐年提升。在这样的背景下&#xff0c;可拍摄紫外线&#xff08;UV&#xff1a;Ultra Violet&#xff09;图像的相机拥有越来越广泛的应用场景。将UV照明和…

Java NIO2 异步IO支持

NIO2 从 Java 7 在之前的NIO基础上&#xff0c;它提供了异步 IO 操作、文件系统访问增强等诸多功能 路径&#xff08;Path&#xff09;接口 Path 接口代表了文件系统的路径。它可以用来定位一个文件或目录。 提供了多种方法来解析、转换和查询路径信息。Paths 类提供了一些静…

实现短信中带有链接,直接打开微信小程序

步骤1&#xff1a;生成 Scheme&#xff08;明文&#xff09; 此处配置的 path 需要在小程序后台配置 之后得到一条 scheme weixin://dl/business/?appidxxx&pathpages/index/index 这条 scheme 在某些场景下可以直接点击打开小程序&#xff0c;比如&#xff1a;作为钉钉消…

鸿蒙网络编程系列41-仓颉版HttpRequest模拟登录示例

1. HttpRequest模拟登录简介 在本系列的第9篇文章《鸿蒙网络编程系列9-使用HttpRequest模拟登录示例》中&#xff0c;我们基于ArkTS语言在API 9的环境下使用HttpRequest发起HTTP请求&#xff0c;模拟了对目标网站的登录&#xff0c;本文将使用仓颉语言在API 12的环境中实现类似…

国内能用的Docker镜像源【2024最新持续更新】

国内能用的Docker镜像源【2024最新持续更新】 Docker 镜像加速列表&#xff08;2024年11月已更新&#xff09;配置方式1&#xff1a;临时使用配置方式2&#xff1a;长久有效 在国内使用 Docker 的朋友们&#xff0c;可能都遇到过配置镜像源来加速镜像拉取的操作。然而&#xff…

硅谷甄选(9)SKU模块

SKU模块 8.1 SKU静态 <template><el-card><el-table border style"margin: 10px 0px"><el-table-column type"index" label"序号" width"80px"></el-table-column><el-table-columnlabel"名称…

RabbitMQ 的集群

大家好&#xff0c;我是锋哥。今天分享关于【RabbitMQ 的集群】面试题&#xff1f;希望对大家有帮助&#xff1b; RabbitMQ 的集群 RabbitMQ 是一种流行的开源消息代理&#xff0c;广泛用于构建分布式系统中的消息队列。随着应用程序规模的扩大&#xff0c;单一的 RabbitMQ 实…

IO详解(BIO、NIO、实战案例、底层原理刨析)

文章目录 IO详解&#xff08;BIO、NIO、实战案例、底层原理刨析&#xff09;&#x1f30e; IO&#x1fa90; 同步、异步、阻塞、非阻塞⚡ BIO&#x1f47d; 简介&#x1f60e; 案例 &#x1f680; NIO✈️ 介绍&#x1f697; Buffer&#xff08;缓冲&#xff09;&#x1f6f8; …

Mac 配置SourceTree集成云效

1、背景 工作使用的是自己的笔记本&#xff0c;一个是比较卡&#xff0c;在一个是敏感信息比较多还是使用公司的电脑&#xff0c;但是系统是Mac就很麻烦&#xff0c;在网上找了帖子记录一下 2、配置 打开终端 ssh-keygen -t rsa #一直回车就行 cd .ssh cat id_rsa.pub #查…

.NET 8 Web API 中的身份验证和授权

本次介绍分为3篇文章&#xff1a; 1&#xff1a;.Net 8 Web API CRUD 操作.Net 8 Web API CRUD 操作-CSDN博客 2&#xff1a;在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/143229912 3&#xff1a;.NET …

【论文阅读】Associative Alignment for Few-shot Image Classification

用于小样本图像分类的关联对齐 引用&#xff1a;Afrasiyabi A, Lalonde J F, Gagn C. Associative alignment for few-shot image classification[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part V 16. Spri…

第03章 MySQL的简单使用命令

一、MySQL的登录 1.1 服务的启动与停止 MySQL安装完毕之后&#xff0c;需要启动服务器进程&#xff0c;不然客户端无法连接数据库。 在前面的配置过程中&#xff0c;已经将MySQL安装为Windows服务&#xff0c;并且勾选当Windows启动、停止时&#xff0c;MySQL也 自动启动、停止…

【Fastjson反序列化漏洞:深入了解与防范】

一、Fastjson反序列化漏洞概述 Fastjson是一款高性能的Java语言JSON处理库&#xff0c;广泛应用于Web开发、数据交换等领域。然而&#xff0c;由于fastjson在解析JSON数据时存在安全漏洞&#xff0c;攻击者可以利用该漏洞执行任意代码&#xff0c;导致严重的安全威胁。 二、F…

Python自动化测试一文详解

Python 作为一种高效、易读的编程语言&#xff0c;凭借其丰富的库和框架&#xff0c;成为自动化测试领域的热门选择。无论是Web应用、API&#xff0c;还是移动应用&#xff0c;Python 都能提供强大的支持&#xff0c;使得测试人员能够快速编写和维护测试用例。 本文将深入探讨…

一个免费开源自托管的机器翻译项目,支持API接口

大家好&#xff0c;今天给大家分享一个免费且开源的机器翻译项目LibreTranslate&#xff0c;旨在为用户提供一个完全自由且安全的翻译解决方案。 项目介绍 LibreTranslate采用神经翻译技术&#xff0c;使用开源语言模型对文本进行翻译&#xff0c;无需依赖外部服务。该项目的主…

视觉目标检测标注xml格式文件解析可视化 - python 实现

视觉目标检测任务&#xff0c;通常用 labelimage标注&#xff0c;对应的标注文件为xml。 该示例来源于开源项目&#xff1a;https://gitcode.com/DataBall/DataBall-detections-100s/overview 读取 xml 标注文件&#xff0c;并进行可视化示例如下&#xff1a; #-*-coding:ut…