diff --git a/sample/ImageSlim.php b/sample/ImageSlim.php new file mode 100644 index 0000000..9d856df --- /dev/null +++ b/sample/ImageSlim.php @@ -0,0 +1,54 @@ + $region, + 'scheme' => 'https', //协议头部,默认为http + 'credentials' => array( + 'secretId' => $secretId, + 'secretKey' => $secretKey))); +try { + // 极智压缩 + $imageRule = new Qcloud\Cos\ImageParamTemplate\ImageSlimTemplate(); + $picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation(); + $picOperations->setIsPicInfo(1); // is_pic_info + $picOperations->addRule($imageRule, "output.png"); // rules + + // -------------------- 1. 下载时处理 -------------------- // +// $downloadUrl = $cosClient->getObjectUrl('examplebucket-125000000', 'xxx.jpg'); // 获取下载链接 + $downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接 + $rule = $imageRule->queryString(); + echo "{$downloadUrl}?{$rule}"; +// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接 + // -------------------- 1. 下载时处理 -------------------- // + + // -------------------- 2. 上传时处理 -------------------- // + $result = $cosClient->putObject(array( + 'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket + 'Key' => 'object.jpg', + 'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件 + 'PicOperations' => $picOperations->queryString(), + )); + // 请求成功 + print_r($result); + // -------------------- 2. 上传时处理 -------------------- // + + // -------------------- 3. 云上数据处理 -------------------- // + $result = $cosClient->ImageProcess(array( + 'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket + 'Key' => 'test.png', + 'PicOperations' => $picOperations->queryString(), + )); + // 请求成功 + print_r($result); + // -------------------- 3. 云上数据处理 -------------------- // +} catch (\Exception $e) { + // 请求失败 + echo($e); +} diff --git a/sample/detectImage.php b/sample/detectImage.php index e76750e..3950719 100644 --- a/sample/detectImage.php +++ b/sample/detectImage.php @@ -17,7 +17,6 @@ $result = $cosClient->detectImage(array( 'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket 'Key' => 'test.png', // 桶文件 - 'ci-process' => 'sensitive-content-recognition', // 'BizType' => '', // 可选 定制化策略,不传走默认策略 // 'Interval' => 5, // 可选 审核 GIF 时使用 截帧的间隔 // 'MaxFrames' => 5, // 可选 针对 GIF 动图审核的最大截帧数量,需大于0。 @@ -32,10 +31,8 @@ //图片链接审核 $imgUrl = 'https://test.jpg'; - $result = $cosClient->detectImage(array( + $result = $cosClient->detectImageUrl(array( 'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket - 'Key' => '/', // 链接图片资源路径写 / 即可 - 'ci-process' => 'sensitive-content-recognition', 'DetectUrl' => $imgUrl, // 'BizType' => '', // 可选 定制化策略,不传走默认策略 // 'Interval' => 5, // 可选 审核 GIF 时使用 截帧的间隔 diff --git a/src/Client.php b/src/Client.php index d2f7a53..0bcb84c 100644 --- a/src/Client.php +++ b/src/Client.php @@ -115,6 +115,7 @@ * @method object DescribeDocProcessJob(array $args) 查询文档转码任务 * @method object GetDescribeDocProcessJobs(array $args) 拉取符合条件的文档转码任务 * @method object DetectImage(array $args) 图片审核 + * @method object DetectImageUrl(array $args) 图片审核 * @method object DetectImages(array $args) 图片审核-批量 * @method object DetectVirus(array $args) 云查毒 * @method object GetDetectVirusResult(array $args) 查询病毒检测任务结果 diff --git a/src/Descriptions.php b/src/Descriptions.php index 16347bc..ca93bca 100644 --- a/src/Descriptions.php +++ b/src/Descriptions.php @@ -4050,7 +4050,7 @@ public static function GetDescribeDocProcessJobsOutput() { public static function DetectImage() { return array( 'httpMethod' => 'GET', - 'uri' => '/{Bucket}{/Key*}', + 'uri' => '/{Bucket}{/Key*}?ci-process=sensitive-content-recognition', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DetectImageOutput', 'responseType' => 'model', @@ -4069,10 +4069,67 @@ public static function DetectImage() { 'Qcloud\\Cos\\Client::explodeKey' ) ), - 'ci-process' => array( + 'DetectType' => array( + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'detect-type' + ), + 'DetectUrl' => array( + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'detect-url' + ), + 'Interval' => array( + 'type' => 'integer', + 'location' => 'query', + 'sentAs' => 'interval' + ), + 'MaxFrames' => array( + 'type' => 'integer', + 'location' => 'query', + 'sentAs' => 'max-frames' + ), + 'BizType' => array( + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'biz-type' + ), + 'LargeImageDetect' => array( + 'type' => 'integer', + 'location' => 'query', + 'sentAs' => 'large-image-detect' + ), + 'DataId' => array( + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'dataid' + ), + 'Async' => array( + 'type' => 'integer', + 'location' => 'query', + 'sentAs' => 'async' + ), + 'Callback' => array( + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'callback' + ), + ), + ); + } + + public static function DetectImageUrl() { + return array( + 'httpMethod' => 'GET', + 'uri' => '/{Bucket}?ci-process=sensitive-content-recognition', + 'class' => 'Qcloud\\Cos\\Command', + 'responseClass' => 'DetectImageOutput', + 'responseType' => 'model', + 'parameters' => array( + 'Bucket' => array( 'required' => true, 'type' => 'string', - 'location' => 'query' + 'location' => 'uri', ), 'DetectType' => array( 'type' => 'string', diff --git a/src/ImageParamTemplate/ImageSlimTemplate.php b/src/ImageParamTemplate/ImageSlimTemplate.php new file mode 100644 index 0000000..b23eed7 --- /dev/null +++ b/src/ImageParamTemplate/ImageSlimTemplate.php @@ -0,0 +1,8 @@ + Descriptions::DescribeDocProcessJob(), // 查询文档转码任务 'GetDescribeDocProcessJobs' => Descriptions::GetDescribeDocProcessJobs(), // 拉取符合条件的文档转码任务 'DetectImage' => Descriptions::DetectImage(), // 图片审核 + 'DetectImageUrl' => Descriptions::DetectImageUrl(), // 图片审核 'DetectImages' => Descriptions::DetectImages(), // 图片审核-批量 'DetectVirus' => Descriptions::DetectVirus(), // 云查毒 'GetDetectVirusResult' => Descriptions::GetDetectVirusResult(), // 查询病毒检测任务结果