zjhblogs

昨天搞了一下午,用7牛官方的SDK demo

1.上传凭证

$policy = array(
    \'callbackUrl\' => \'http://api.example.com/qiniu/upload/callback\',
    \'callbackBody\' => \'{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}\',
    \'callbackBodyType\' => \'application/json\'
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");

2.回调鉴权方法

<?php
    require_once __DIR__ . \'/../autoload.php\';
    use Qiniu\Auth;
    $accessKey = getenv(\'QINIU_ACCESS_KEY\');
    $secretKey = getenv(\'QINIU_SECRET_KEY\');
    $bucket = getenv(\'QINIU_TEST_BUCKET\');
    $auth = new Auth($accessKey, $secretKey);
    //获取回调的body信息
    $callbackBody = file_get_contents(\'php://input\');
    //回调的contentType
    $contentType = \'application/x-www-form-urlencoded\';
    //回调的签名信息,可以验证该回调是否来自七牛
    $authorization = $_SERVER[\'HTTP_AUTHORIZATION\'];
    //七牛回调的url,具体可以参考:http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
    $url = \'http://172.30.251.210/upload_verify_callback.php\';
    $isQiniuCallback = $auth->verifyCallback($contentType, $authorization, $url, $callbackBody);
    if ($isQiniuCallback) {
        $resp = array(\'ret\' => \'success\');
    } else {
        $resp = array(\'ret\' => \'failed\');
    }
    echo json_encode($resp);

服务器已经收到信息 了验证总是failed!

关键说下:

$url 参数是你的服务器 回调的地址:就是上面生成token 你填的回调服务器 地址就是下面的:callbackUrl

$policy = array(
    \'callbackUrl\' => \'http://api.example.com/qiniu/upload/callback\',
    \'callbackBody\' => \'{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}\',
    \'callbackBodyType\' => \'application/json\'
);

MADE 文档里都不解释下 各个参数的含义 

我还以为是 “http://172.30.251.210/upload_verify_callback.php” 是固定值?

分类:

技术点:

相关文章:

  • 2021-12-24
  • 2022-12-23
  • 2021-12-06
  • 2021-12-05
  • 2021-12-05
  • 2021-12-01
  • 2021-12-30
  • 2021-10-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2022-01-22
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案