Skip to content

Commit

Permalink
ImageSlim (#338)
Browse files Browse the repository at this point in the history
Co-authored-by: franktguo <[email protected]>
  • Loading branch information
nic12347 and franktguo authored Nov 5, 2024
1 parent ea1f92f commit 67b0d27
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 7 deletions.
54 changes: 54 additions & 0 deletions sample/ImageSlim.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php


require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $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);
}
5 changes: 1 addition & 4 deletions sample/detectImage.php
Original file line number Diff line number Diff line change
Expand Up @@ -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。
Expand All @@ -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 时使用 截帧的间隔
Expand Down
1 change: 1 addition & 0 deletions src/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -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) 查询病毒检测任务结果
Expand Down
63 changes: 60 additions & 3 deletions src/Descriptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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',
Expand Down
8 changes: 8 additions & 0 deletions src/ImageParamTemplate/ImageSlimTemplate.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

namespace Qcloud\Cos\ImageParamTemplate;
class ImageSlimTemplate extends ImageTemplate {
public function queryString() {
return "imageSlim";
}
}
1 change: 1 addition & 0 deletions src/Service.php
Original file line number Diff line number Diff line change
Expand Up @@ -3710,6 +3710,7 @@ public static function getService() {
'DescribeDocProcessJob' => Descriptions::DescribeDocProcessJob(), // 查询文档转码任务
'GetDescribeDocProcessJobs' => Descriptions::GetDescribeDocProcessJobs(), // 拉取符合条件的文档转码任务
'DetectImage' => Descriptions::DetectImage(), // 图片审核
'DetectImageUrl' => Descriptions::DetectImageUrl(), // 图片审核
'DetectImages' => Descriptions::DetectImages(), // 图片审核-批量
'DetectVirus' => Descriptions::DetectVirus(), // 云查毒
'GetDetectVirusResult' => Descriptions::GetDetectVirusResult(), // 查询病毒检测任务结果
Expand Down

0 comments on commit 67b0d27

Please sign in to comment.