| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- namespace app\common\services;
- use app\common\services\aliyunoss\OssClient;
- use app\common\services\aliyunoss\Core\OssException;
- class AliOss
- {
- protected $accessKeyId;
- protected $accessKeySecret;
- protected $endpoint;
- protected $bucket;
- protected $ossClient;
- public function __construct($accessKeyId, $accessKeySecret, $endpoint)
- {
- $this->accessKeyId = $accessKeyId;
- $this->accessKeySecret = $accessKeySecret;
- $this->endpoint = $endpoint;
- // $bucket = $bucket;
- }
- public function upload($object, $content, $bucket)
- {
- try{
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- $res = $ossClient->putObject($bucket, $object, $content);
- if ($res['info']) {
- }
- $data = $ossClient->getObjectMeta($bucket, $object);
- return $data;
- } catch(OssException $e) {
- printf($e->getMessage() . "\n");
- return $e->getMessage();
- }
- }
- public function checkBucket($bucket)
- {
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- $res = $ossClient->listBuckets($bucket);
- return $res;
- }
- public function getObject($object)
- {
- try {
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- $res = $ossClient->getobject($bucket, $object);
- return $res;
- } catch (OssException $e) {
- return $e->getMessage();
- }
- }
- public function PutBucketPublicRead()
- {
- try {
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- $res = $ossClient->putBucketAcl($bucket, 'public-read');
- return $res;
- } catch (OssException $e) {
- return $e->getMessage();
- }
- }
- public function PutBucketPrivate()
- {
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- $res = $ossClient->putBucketAcl($bucket, 'private');
- return $res;
- }
- public function upCallBack($object)
- {
- $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
- // 上传文件时设置回调。
- // callbackUrl为回调服务器地址,如http://oss-demo.aliyuncs.com:23450或http://127.0.0.1:9090。
- //callbackHost为回调请求消息头中Host的值,如oss-cn-hangzhou.aliyuncs.com。
- $url =
- '{
- "callbackUrl": {$callbackUrl}",
- "callbackHost":"{$callbackHost}",
- "callbackBody":
- "bucket={$bucket}&object={$object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var1=${x:var1}&my_var2=${x:var2}",
- "callbackBodyType":"application/x-www-form-urlencoded"
- }';
- // 设置发起回调请求的自定义参数,由Key和Value组成,Key必须以x:开始。
- $var =
- '{
- "x:var1":"value1",
- "x:var2":"值2"
- }';
- $options = array(OssClient::OSS_CALLBACK => $url,
- OssClient::OSS_CALLBACK_VAR => $var
- );
- $result = $ossClient->putObject($bucket, $object, file_get_contents(__FILE__), $options);
- print_r($result['body']);
- print_r($result['info']['http_code']);
- }
- }
|