Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImageSlim #338

Merged
merged 1 commit into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading