vue-cookie 设置过期时间之关闭浏览器清除 cookie 2557

vue-cookie 设置过期时间及关闭浏览器清除 cookie

后台基本开发规范 2632

后台基本开发规范

vue 使用 uuid 报错:uuid has no default export 3161

vue 在使用 uuid 的时候报这个错误如何解决:uuid has no default export

vue 包含别名的图片地址如何动态加载 2909

vue 包含别名的图片地址如何动态加载。如:imgurl = "@img/1.png"

vue 获取非200状态码返回的 response 数据 1681

如何获取非200状态码返回的 response 数据

jenkins 搭建 vue 自动发布平台 1705

如何用 jenkins 搭建一个 vue 项目的自动发布平台

腾讯云 cdn 的使用及添加 cname 报错:解析记录已存在 3000

首次开通腾讯云送了120G的 cdn 流量,虽然本博客没多少人看,但是本着不浪费的精神,还是去配置了下 cdn

华为云对象存储 obs 文件流上传 4110

laravel 支持华为云对象存储 obs 文件流上传

华为云对象存储 obs 基于表单上传文件 4982

记录华为云对象存储 obs 基于表单上传文件

php 华为云对象存储安装( obs 安装) 5446

在 laravel 下安装 obs 依赖包,安装华为云对象存储依赖包

小提示

如有侵权请邮件通知

ftfoolish - 求知若饥,虚心若愚
vue-cookie 设置过期时间之关闭浏览器清除 cookie 2618

vue-cookie 设置过期时间及关闭浏览器清除 cookie

后台基本开发规范 2688

后台基本开发规范

vue 使用 uuid 报错:uuid has no default export 3225

vue 在使用 uuid 的时候报这个错误如何解决:uuid has no default export

vue 包含别名的图片地址如何动态加载 2970

vue 包含别名的图片地址如何动态加载。如:imgurl = "@img/1.png"

vue 获取非200状态码返回的 response 数据 1713

如何获取非200状态码返回的 response 数据

jenkins 搭建 vue 自动发布平台 1723

如何用 jenkins 搭建一个 vue 项目的自动发布平台

腾讯云 cdn 的使用及添加 cname 报错:解析记录已存在 3022

首次开通腾讯云送了120G的 cdn 流量,虽然本博客没多少人看,但是本着不浪费的精神,还是去配置了下 cdn

华为云对象存储 obs 文件流上传 4130

laravel 支持华为云对象存储 obs 文件流上传

华为云对象存储 obs 基于表单上传文件 5009

记录华为云对象存储 obs 基于表单上传文件

php 华为云对象存储安装( obs 安装) 5466

在 laravel 下安装 obs 依赖包,安装华为云对象存储依赖包

小提示

如有侵权请邮件通知

华为云对象存储 obs 基于表单上传文件 - ftfoolish

华为云对象存储 obs 基于表单上传文件

华为云对象存储 obs 基于表单上传生成签名代码:

/**
* 文件上传 OBS 策略
* @param $dir 需要上传到华为云的文件夹名称
* @param $params $params['content-type']上传文件类型,必传;否则上传文件,在浏览器打开是下载
*/
static function fileUploadPolicyObs( $dir = 'steam-box/', $params=[] )
{
    $accessKeyId = '111111';
    $accessKeySecret = '123456';
    $host = 'https://static-img.hotjh.com';//前端上传文件要调的域名。可以是华为的域名,也可以是自己绑定桶域名
    $bucket = 'ftfoolish';//桶名称

    $now = time();
    $expire = 30;//过期时间
    $end = $now + $expire;
    $expiration = self::getiso8601($end);//获取指定格式时间,2019-12-20T16:38:59Z

    $conditions = [
        ['bucket'=>$bucket],//指定桶
        ['content-length-range', 0, 1048576000],//上传文件大小
        ['starts-with', '$key', $dir],//路径
        ['starts-with', '$content-type', $params['content-type']],//指定上传文件类型,如:image/png
        //['starts-with', '$success_action_status', '200'],//返回状态码
    ];

    $arr = array('expiration' => $expiration, 'conditions' => $conditions);
    $policy = json_encode($arr);
    $base64_policy = base64_encode($policy);//生成 policy
    $string_to_sign = $base64_policy;
    $signature = base64_encode(hash_hmac('sha1', $string_to_sign, $accessKeySecret, true));//生成签名

    $response = array();
    $response['AccessKeyId'] = $accessKeyId;
    $response['host'] = $host;
    $response['policy'] = $base64_policy;
    $response['signature'] = $signature;
    $response['expire'] = $end;
    $response['dir'] = $dir.date('Ymd').'/';
    return $response;

}

static function getiso8601($time) {
    $dtStr = date("c", $time);
    $my_date_time = new \DateTime($dtStr);
    $expiration = $my_date_time->format(\DateTime::ISO8601);
    $pos = strpos($expiration, '+');
    $expiration = substr($expiration, 0, $pos);
    return $expiration."Z";
}

得到相关信息之后,可用 postman 测试,测试结果如下图:


小提示

如有侵权请邮件通知