当前位置: 首页> 财经> 股票 > fastadmin 文件上传腾讯云

fastadmin 文件上传腾讯云

时间:2025/7/12 1:52:40来源:https://blog.csdn.net/jmkweb/article/details/141937212 浏览次数:0次

1-安装腾讯云SDK

composer require qcloud/cos-sdk-v5

2-腾讯云配置

<?phpnamespace app\common\controller;use Qcloud\Cos\Client;
use think\Controller;
use think\Db;class Tencent extends Controller
{/*** 上传文件* @param $config* @param $key* @return array*/public function uploadToTencentCloud( $config,$key = null) {$secretId = $config['tencent_secretid'];$secretKey = $config['tencent_secretkey'];$region = $config['tencent_area']; // 例如 ap-beijing, ap-guangzhou$bucket = $config['tencent_bucket'];$data = $this->request->file();$info = $data['file']->getInfo();$parts = explode('.', $info['name']);$extension = end($parts);$filename=hash('md5', uniqid()).mt_rand(1,99).'.'.$extension;$cosClient = new Client(['region' => $region,'credentials' => ['secretId'  => $secretId,'secretKey' => $secretKey],]);try {$result = $cosClient->putObject(['Bucket' => $bucket,'Key' => $key ?: $filename,'Body' => fopen($info['tmp_name'], 'rb')]);if ($result!==false) {$domain=$config['tencent_domain'];Db::name('attachment')->insert(['filesize'    => $info['size'],'imagetype'   => $info['type'],'imageframes' => 0,'mimetype'    => $info['type'],'filename'    => $filename,'url'         => $result['Key'],'createtime'  => time(),'updatetime'  => time(),'uploadtime'  => time(),'storage'     => 'tencent','sha1'        => '','type'        => 3,'type_url'    => $domain,'extparam'    => '',]);return ['code' => 1, 'msg' => '上传完成', 'data' => ($domain . $result['Key'])];}return ['code' => 0, 'msg' => '上传失败'];} catch (\Exception $e) {// 异常处理return ['code' => 0, 'msg' => $e->getMessage()];}}public function deleteOne($config,$key = null){$region = $config['tencent_area']; // 例如 ap-beijing, ap-guangzhou$secretId = $config['tencent_secretid'];$secretKey = $config['tencent_secretkey'];$bucket = $config['tencent_bucket'];// 初始化COS客户端$cosClient = new Client(['region' => $region,'credentials' => ['secretId'  => $secretId,'secretKey' => $secretKey],]);try {// 删除文件$result = $cosClient->deleteObject(array('Bucket' => $bucket,'Key' => $key // 要删除的文件对象键,例如:'exampleobject.txt'));Checking::writeLog(json_encode($result),'删除成功','tencent.log');// 输出结果} catch (\Exception $e) {// 输出错误信息Checking::writeLog($e->getMessage(),'删除出错','tencent.log');}}
}

接下来修改fastadmin 上传文件  api/controller/Common.php 文件下的 upload 方法

然后修改附件选择器 admin/controller/general/Attachment.php 下的index方法

关键字:fastadmin 文件上传腾讯云

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: