Oss.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Upload\Lib\View;
  3. use Dever;
  4. Dever::apply('sdk/oss', 'upload');
  5. Dever::apply('vendor/autoload', 'alibaba');
  6. use OSS\OssClient;
  7. use OSS\Core\OssException;
  8. use AlibabaCloud\Client\AlibabaCloud;
  9. use AlibabaCloud\Client\Exception\ClientException;
  10. use AlibabaCloud\Client\Exception\ServerException;
  11. class Oss
  12. {
  13. public function token($config, $upload)
  14. {
  15. //构建一个阿里云客户端,用于发起请求。
  16. //构建阿里云客户端时需要设置AccessKey ID和AccessKey Secret。
  17. AlibabaCloud::accessKeyClient($config['appkey'], $config['appsecret'])->regionId('cn-beijing')->asDefaultClient();
  18. //设置参数,发起请求。
  19. try {
  20. $result = AlibabaCloud::rpc()
  21. ->product('Sts')
  22. ->scheme('https') // https | http
  23. ->version('2015-04-01')
  24. ->action('AssumeRole')
  25. ->method('POST')
  26. ->host('sts.aliyuncs.com')
  27. ->options([
  28. 'query' => [
  29. 'RegionId' => "cn-beijing",
  30. 'RoleArn' => "acs:ram::1118875946432366:role/api",
  31. 'RoleSessionName' => "upload",
  32. ],
  33. ])
  34. ->request();
  35. print_r($result->toArray());die;
  36. } catch (ClientException $e) {
  37. echo $e->getErrorMessage() . PHP_EOL;die;
  38. } catch (ServerException $e) {
  39. echo $e->getErrorMessage() . PHP_EOL;die;
  40. }
  41. return array('oss', '', '');
  42. }
  43. public function callback()
  44. {
  45. $body = file_get_contents('php://input');
  46. Dever::log($body, 'oss_callback');
  47. $body = json_decode($body, true);
  48. return $body;
  49. }
  50. # 视频转码
  51. public function convert($key, $file, $config, $upload)
  52. {
  53. }
  54. }