IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 华为云上传文件生成签名 -> 正文阅读

[开发测试]华为云上传文件生成签名

use Obs\ObsClient;

/**
     * 上传图片
     * @param string $file
     */
    public function uploadImgAndFile($file)
    {

        // 创建ObsClient实例
        $obsClient = new ObsClient([
            'key' => sysconfig('upload', 'huaweioss_accessKey'),
            'secret' => sysconfig('upload', 'huaweioss_accessKeySecret'),
            'endpoint' => sysconfig('upload', 'huaweioss_endpoint')
        ]);
        $filename = 'upload/'.date('Y', time()).'/'. date('m', time()).'/'.date('d', time()).'/'.time().rand(1000, 9999).'.png';
        $resp = $obsClient->putObject([
            'Bucket' => sysconfig('upload', 'huaweioss_bucket'),//桶名
            'Key' => $filename,//文件名
            'SourceFile' => $file  // localfile为待上传的本地文件路径,需要指定到具体的文件名
        ]);
        if ($resp['Reason'] == 'OK') {
            $url =$resp['ObjectURL'];
            return $filename;
        } else {
            throw new ValidateException('上传失败');
        }
    }


    /**
     * 签名生成 前端上传需要
     * @param string $object 文件名
     * @param string $file_type 文件类型
     */
    public function obsSignature(){

        $object = 'upload/'.date('Y', time()).'/'. date('m', time()).'/'.date('d', time()).'/'.time().mt_rand(1000, 9999).'.png'; //文件名
        $file_type = 'image/png'; //文件类型 image/jpeg
        $obsClient = new ObsClient([ 
                'key' => sysconfig('upload', 'huaweioss_accessKey'),           //OBS 中的 AK
                'secret' => sysconfig('upload', 'huaweioss_accessKeySecret'),      //OBS 中的 SK
                'endpoint' => "https://" . sysconfig('upload', 'huaweioss_endpoint'), //注意实际的终点可能不同
                'signature' => 'obs',
        ]);

        // URL有效期,3600秒
        $expires = 3600;

        // 上传对象
        $resp = $obsClient->createPostSignature([ 
            'Bucket' => sysconfig('upload', 'huaweioss_bucket'),	//你自己的桶名(bucket)
            'Key' => $object,
            'Expires' => $expires,
            'FormParams' => [
                'x-obs-acl' => 'public-read',
                'content-type' => $file_type,
            ]
        ]);
        
        // printf($resp);
        $data['Accesskeyid'] = sysconfig('upload', 'huaweioss_accessKey');  //OBS 中的AK
        $data['Policy'] = $resp['Policy'];
        $data['Signature'] = $resp['Signature'];
        $data['Key'] = $object;
        $data['ContentType'] = $file_type;
        $data['huaweioss_region'] = "https://" . sysconfig('upload', 'huaweioss_region');
        return json_encode($data);
    }

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:28:21  更:2022-02-19 01:29:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:37:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码