You need to enable JavaScript to run this app.
导航
生成上传凭证
最近更新时间:2024.12.05 18:34:38首次发布时间:2021.02.23 10:42:27

由于 AK/SK 信息存放在客户端有泄漏风险,在客户端上传的过程中,通常需要服务端配合生成上传签名或凭证,下发给客户端。您可参考以下方法生成临时 Token。

背景说明

服务端根据账号的 AK/SK 信息和相关的 policy 生成临时的上传密钥下发给客户端,客户端根据临时密钥和上传参数自行计算签名并发送 OpenAPI 请求。

  • 服务端仅生成临时密钥,具体签名计算过程在客户端进行;
  • OpenAPI 的所有请求参数均可参与签名过程;
  • 根据临时密钥无法反推出账号 AK/SK,泄漏风险低。

初始化

设置 AK/SK 和地域,具体可参考初始化

生成临时上传密钥

<?php
include_once(__DIR__ . '/../../vendor/autoload.php');
use Volc\Service\ImageX;
$xclient = ImageX::getInstance();
// call below method if you dont set ak and sk in ~/.volc/config
$xclient->setAccessKey("ak");
$xclient->setSecretKey("sk");
$serviceIDList = [];
$response = $xclient->getUploadAuth($serviceIDList, 3600);
echo json_encode($response);
echo "\n=======================\n";
$uploadPolicy = [
    'FileSizeUpLimit' => '1000000', //上传文件大小上限
    'FileSizeBottomLimit' => '5000', //上传文件大小下限
    'ContentTypeBlackList' => ['image/gif'] //上传文件的 Content-Type 黑名单
];
$tag = [
        'UploadOverwrite' => 'true', //开启重名覆盖上传
        'UploadPolicy' => json_encode($uploadPolicy)
]; 
$response = $xclient->getUploadAuth($serviceIDList,3600,'',$tag);
print_r($response);