/** * func UploadFile(upToken, key, mimeType, localFile, customMeta, callbackParams string) => (data PutRet, code int, err Error) * 通过uptoken上传一个文件 */ function UploadFile($upToken, $bucketName, $key, $mimeType, $localFile, $customMeta = '', $callbackParams = '', $rotate = '') { if ($mimeType === '') { $mimeType = 'application/octet-stream'; } $entryURI = $bucketName . ':' . $key; $action = '/rs-put/' . \QBox\Encode($entryURI) . '/mimeType/' . \QBox\Encode($mimeType); if ($customMeta !== '') { $action .= '/meta/' . \QBox\Encode($customMeta); } if ($rotate !== '') { $action .= '/rotate/' . $rotate; } $params = array('action' => $action, 'file' => "@{$localFile}", 'auth' => $upToken); if ($callbackParams !== '') { if (is_array($callbackParams)) { $callbackParams = http_build_query($callbackParams); } $params['params'] = $callbackParams; } $response = \QBox\ExecuteRequest(QBOX_UP_HOST . '/upload', $params, \QBox\HTTP_METHOD_POST); //var_dump($response); $code = $response['code']; if ($code === 200) { return array($response['result'], 200, null); } return array(null, $code, $response['result']); }
function MakeAuthToken(array $params) { global $QBOX_ACCESS_KEY, $QBOX_SECRET_KEY; if (isset($params['expiresIn'])) { $expiresIn = $params['expiresIn']; unset($params['expiresIn']); } else { $expiresIn = 3600; } $params['deadline'] = time() + $expiresIn; $signature = \QBox\Encode(json_encode($params)); unset($params['deadline']); $params['expiresIn'] = $expiresIn; $digest = hash_hmac('sha1', $signature, $QBOX_SECRET_KEY, true); $encoded_digest = \QBox\Encode($digest); return "{$QBOX_ACCESS_KEY}:{$encoded_digest}:{$signature}"; }
public function UnsetStyle($name) { $url = QBOX_PU_HOST . "/unstyle/" . $this->Bucket . "/name/" . \QBox\Encode($name); return \QBox\OAuth2\Call($this->Conn, $url); }
/** * Generate the QBOX signature * @param string $url Called URL */ private function generateQBOXSignature($url, $parameters) { $parsed_url = parse_url($url); $path = $parsed_url['path']; $data = $path; if (isset($parsed_url['query'])) { $data .= "?" . $parsed_url['query']; } $data .= "\n"; if ($parameters) { if (is_array($parameters)) { $parameters = http_build_query($parameters); } $data .= $parameters; } $digest = \QBox\Encode(hash_hmac('sha1', $data, $this->access_token_secret, true)); $digest = $this->access_token . ":" . $digest; return $digest; }