Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【玩转腾讯云】腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案

【玩转腾讯云】腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案

原创
作者头像
沈唁
修改于 2020-03-31 03:00:41
修改于 2020-03-31 03:00:41
8.8K110
代码可运行
举报
文章被收录于专栏:沈唁志沈唁志
运行总次数:0
代码可运行

在日常开发当中,我们必然会遇到一些图片存储问题,例如用户头像、聊天发生的图片等,而这些图片资源存储是个问题,普遍做法都是直接落在服务器上进行存储,而我推荐的是图片资源的存储直接上云使用云存储,本地可以保留备份,读取数据走云存储,同时可以增加CDN等。

借助云存储空间单独存放网站中的图片或者其他静态文件,分离存储之后会方便网站的管理和打开速度效率。既然需要单独存储,存储资源提供方必须是靠谱的,比如腾讯云提供的对象存储 COS服务,下面来介绍一下COS服务

什么是对象存储

对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。

COS 的默认存储类型为标准存储,根据访问频度的高低提供四种对象的存储级别,这篇文章我们以标准存储为例,标准存储为用户提供了高数据持久性,高可用性、高性能的对象存储服务

虽然我们的图片存储在云上,但是我们依旧可以对图片数据进行一些云处理,例如加水印、裁剪,还可以进行鉴黄、鉴政、鉴暴恐等内容审核;

实际使用

演示一下怎么上传图片到COS中,以PHP SDK为例,首先进行安装

代码语言:txt
AI代码解释
复制
composer require qcloud/cos-sdk-v5

创建一个php文件,加载对应autoload.php文件进行自动加载

代码语言:txt
AI代码解释
复制
require __DIR__ . '/vendor/autoload.php';

初始化客户端,需要COS存储桶的地域、secretIdsecretKey信息

代码语言:txt
AI代码解释
复制
$cosClient = new \Qcloud\Cos\Client(
    array(
        'region' => '<Region>',
        'credentials' => array(
            'secretId' => '<SecretId>',
            'secretKey' => '<SecretKey>'
        )
    )
);

上传一张示例图片到COS存储桶中

代码语言:txt
AI代码解释
复制
try {
    $result = $cosClient->putObject(
        array(
            'Bucket' => $bucket, // 存储桶名称
            'Key' => "/images/bj.jpg", //上传到cos后的路径 名称
            'Body' => fopen("/images/bj.jpg", 'rb')
        )
    );
    print_r($result);
} catch (\Exception $e) {
    echo "$e\n";
}

返回的$result['Location']就是我们上传到COS中的图片访问路径。至于其他的方法,可以参考腾讯云对象存储文档

看到这里我们已经可以上传图片到COS当中,那么问题就来了,我们想要裁剪一下图片、加个水印呢?应该如何操作?

这个就不用考虑使用其他的服务API了,因为就在前不久腾讯云对象存储 COS 集成了数据万象,涵盖图片处理、审核、识别等功能,用户可以通过对应处理接口来进行媒体数据的处理操作,再也不是只把COS当做存储系统来使用。

什么是数据万象

数据万象(Cloud Infinite,CI)是腾讯云为客户提供的专业一体化的图片解决方案,涵盖图片上传、下载、存储、处理、识别等功能,将 QQ 空间相册积累的十年图片服务运作经验开放给开发者。

CI 可以根据用户的需求提供定制化的图片识别服务;同时也提供灵活的图像编辑服务,如裁剪、压缩、水印、转码等,满足各种业务场景需求。给所有用户提供了安全、稳定、高效的云端数据处理服务,满足媒体处理的多种需求。

实际使用

其实对于COS调用CI的基础图片处理,不需要使用代码实现,只需要拼接URL参数即可。前几天还有人问我腾讯云COS已经支持裁剪、压缩、水印等,插件啥时候支持呀,今天看了一下文档,这些操作实现是真的简单,下面来演示一下对应的操作

基础图片处理

基础图片处理的调用方式较为简单,不需要SDK,只需要拼接URL参数,具体文档:基础图片处理

腾讯云数据万象通过imageMogr2接口提供旋转功能,包括普通旋转和自适应旋转。

我们使用刚才上传的那个图片地址$result['Location']来使用,在URL后加上?imageMogr2/rotate/30表示旋转30度

这里的操作需要注意一下,如果你的图片过大,在旋转90度、180度等浏览器可能无法显示出旋转的效果,可以把度数调的稍微不那么规范... 我测试的时候使用的是1920x1357的图片,90度180度没有效果,曾经以为是bug...度数调的随意些就有效果了

rotate.png
rotate.png

可以使用文档中的示例地址进行体验顺时针旋转90度

代码语言:txt
AI代码解释
复制
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/rotate/90

腾讯云数据万象通过imageMogr2接口对图片进行模糊处理。

和刚才的操作一样,在URL后加上?imageMogr2/blur/8x5表示模糊半径取8,sigma 值取5,进行高斯模糊处理:

原图
原图
模糊后
模糊后

可以使用文档中的示例地址进行体验模糊半径取8,sigma 值取5,进行高斯模糊处理

代码语言:txt
AI代码解释
复制
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/blur/8x5
  • 图片/文字水印

水印在日常使用的次数应该比较多,腾讯云数据万象也提供了对应的参数让用户进行调用。文档:图片水印文字水印

腾讯云数据万象通过watermark接口提供图片水印和实时文字水印处理功能。

使用图片水印时,需要注意的是水印图片必须指定为已存储于数据万象中的图片;水印图片与源图片必须位于同一个存储桶下;水印图片地址需要经过 URL 安全的 Base64 编码。

可以使用文档中的示例地址进行体验图片水印

代码语言:txt
AI代码解释
复制
// 图片水印
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL3NodWl5aW4uanBn/gravity/southeast

// 文字水印
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?watermark/2/text/6IW-6K6v5LqRwrfkuIfosaHkvJjlm74/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45
图片水印
图片水印
文字水印
文字水印

看到这里那么问题来了,我如果需要同时缩放+增加水印应该如何操作呢?腾讯云数据万象的管道操作符|能够实现对图片按顺序进行多种处理。

用户在图片 URL 链接后以样式分隔符?与处理样式相连接,多个处理样式之间以管道操作符|分隔,样式按照先后顺序执行,目前最多支持三层管道。

这个示例其实就用到了管道操作符,因为我的原图较大,logo比较小,所以进行缩放后增加水印

图片水印
图片水印
代码语言:txt
AI代码解释
复制
// 原图
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg

// 先缩放50%
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/!50p

// 使用管道操作符再添加文字水印的样式处理
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/!50p|watermark/2/text/5pWw5o2u5LiH6LGh/fill/I0ZGRkZGRg==/fontsize/30/dx/20/dy/20

基础图片处理就说这么多,详细的可以参考基础图片处理哦,还有获取图片exif和去除元信息的一些接口,同样都是通过拼接URL可以使用的,而且图片基础处理目前免费,例如裁剪、缩放、转码、水印等功能。

当然,如果你不想拼接URL,敲这么多的字符串,腾讯云也帮你想到了:图片样式功能

1)在 存储桶列表 中对应桶的 图片处理 处添加。具体样式设置参考腾讯云文档

2)填写时需要将分隔符和对应的名称描述进行拼接,例如:

分隔符!(感叹号),名称blog描述imageMogr2/format/webp/interlace/0/quality/100

则填写为 !blog?imageMogr2/format/webp/interlace/0/quality/100

最后复制对象地址并按以下格式在对象地址后面添加分隔符和样式名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
对象地址 + 分隔符 + 处理样式名

// https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/sample.jpeg!blog

或者添加对应样式参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
对象地址 + 分隔符 + 处理样式参数

// https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/sample.jpeg?imageMogr2/format/webp/interlace/0/quality/100

以上就可以看出使用腾讯云对象存储COS和数据万象CI能够解决所有 App 和网站涉及到图片的地方,利用完善的图片解决方案,开发者既能快速地对外提供图片服务,也能基于云服务的弹性调度能力快速调整资源适应业务突然变化。

功能这么强大你还不赶紧去试试吗?更多功能等你发现~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
11 条评论
热度
最新
厉害厉害,学习了
厉害厉害,学习了
回复回复点赞举报
学习了
学习了
回复回复点赞举报
学习了,感谢大佬
学习了,感谢大佬
回复回复点赞举报
大佬v5 (✧◡✧)
大佬v5 (✧◡✧)
回复回复点赞举报
厉害厉害,学习了
厉害厉害,学习了
回复回复点赞举报
大佬威武
大佬威武
回复回复点赞举报
大佬 啥时候开发几个ty的插件
大佬 啥时候开发几个ty的插件
11点赞举报
ty有cos的插件啊
ty有cos的插件啊
回复回复点赞举报
好棒(✪▽✪),大佬大佬!
好棒(✪▽✪),大佬大佬!
回复回复点赞举报
厉害厉害!学习到了
厉害厉害!学习到了
回复回复点赞举报
沙发大佬66666
沙发大佬66666
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
腾讯云【数据万象】使用指南——基础图片处理(上)
腾讯云数据万象(Cloud Infinite,CI)能够实现对云上的图片、视频、音频、文档等数据进行处理,为客户提供专业一体化的数据处理解决方案,涵盖图片处理、内容审核、内容识别、媒体处理、文档服务等功能。
腾讯云数据万象
2020/08/13
4.3K5
腾讯云【数据万象】使用指南——基础图片处理(下)
在之前的两期,我们介绍了【数据万象】中基础图片处理的大部分功能,相信大家对数据万象的基础图片处理功能已经有了一个清晰的认识,剩余“去除元信息“、”快速缩略模版“和”样式设置“将会在本期向大家介绍。
腾讯云数据万象
2020/08/28
2.1K0
腾讯云【数据万象】使用指南——基础图片处理(中)
在上期文章中,我们介绍了【数据万象】的部分基础图片处理功能,其中包含缩放、裁剪、旋转、格式转换、质量变换功能,这期我们将为大家介绍数据万象中,高斯模糊、锐化、添加水印、获取图片信息的功能。
腾讯云数据万象
2020/08/18
3.1K1
腾讯云【数据万象】使用指南——基础图片处理(中)
对象储存cos-腾讯云对象储存cos
COS是腾讯云提供的对象存储服务,功能非常强大,可以作为文件服务器,CDN加速,静态网页服务,还提供了图片的常用操作。
张天华
2019/08/01
25.1K0
对象储存cos-腾讯云对象储存cos
教你一招如何让网页变成灰色?
在一些特殊时期,很多网站的页面都会不同程度上设置成了灰色。看到这些灰色的网页,开发者们可能会很好奇:网页内容不变的情况下,如何实现整页显示为灰色? 一般方案:CSS 实现网页灰度 CSS 滤镜能实现网页灰色,在页面加入以下 CSS 片段即可让页面显示为灰色。 body { -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */ -moz-filter: grayscale(100%); -ms-filter:
云存储
2022/04/06
1.2K0
教你一招如何让网页变成灰色?
基于腾讯云COS+CI图文音视频解决方案
从早期的门户网站,到后面的feeds流,再到如今的各种垂直行业的社区分享,一次次变更成就了近几年行业中的领跑者。从行业领先的微博,再看小红书、B站等等,绝对都是可以看到feeds和社区的影子。而其中跑不掉的原始素材便是基础的图片、音频和视频等。今天就来介绍基于腾讯云如何解决这些社区方案中原始基础素材的问题。
云存储
2020/09/30
2.2K0
基于腾讯云COS+CI图文音视频解决方案
cos万象盲水印私有读写操作
https://cloud.tencent.com/document/product/436/44887#.E4.B9.9D.E5.AE.AB.E6.A0.BC.E6.96.B9.E4.BD.8D.E5.9B.BE
xunzhou
2021/01/20
1.5K0
数据万象盲水印功能介绍
盲水印功能是腾讯云万象优图提供的全新水印模式。通过该功能,您可将水印图以不可见的形式添加到原图信息中,并不会对原图质量产生太大影响。在图片被盗取后,您可对疑似被盗取的资源进行盲水印提取,验证图片归属。
用户4693941
2019/02/22
3.3K0
腾讯云对象存储图片处理功能正式发布,插件已同步更新
使用腾讯云对象存储COS的用户,应该在前几天就收到了邮件、短信和站内信等通知:【功能发布】腾讯云对象存储图片处理功能正式发布!
沈唁
2020/04/03
2K0
智能存储|版权保护解决方案
随着网络基础设施的完善,当今各大平台的图片、视频内容正迎来爆发式增长。创作者、平台在享受媒体内容带来的流量红利的同时,也面临着内容被盗用、知识产权受到侵犯的风险。针对以上痛点,数据万象CI提供了文档水印、图片和视频的明水印、盲水印,以及视频DNA等高级功能,为各种业务场景提供接入方便、高性价比的一站式版权保护解决方案。
云存储
2022/03/02
1.8K0
智能存储|版权保护解决方案
对象存储COS数据处理-灵活使用图片参数
随着5G等技术的普及,信息的传播越发的快速,更好的满足了民众对于信息的诉求。越来越多的产品提供了丰富的信息资源,包括图片、视频、音频等等。如何存储和处理这些数据是一个产品需要考虑的重要方面,如果由产品团队自己来进行图片、音视频和文档数据的存储和处理,需要投入硬件采购、软件系统部署和维护成本,同时也需要专业的技术团队。
wanjiewu
2021/02/11
1.7K0
数据万象应用书塾直播第五期回顾
上周举行的腾讯云存储知识小课堂——数据万象应用书塾直播第五期已经圆满结束。 腾讯云存储团队高级产品经理“黄成昊”和专家研发工程师“王淼”,跟我们分享了如何将对象存储COS与数据万象的图片处理功能结合使用,为您的业务降本增效。数据万象的图片处理服务支持灵活的图像编辑,例如图片旋转、裁剪、转码、缩放等,并且提供 Guetzli 压缩、TPG 转码、HEIF 转码等图片瘦身解决方案,图片或文字水印、独有盲水印等版权保护解决方案,满足多种业务场景下的图片需求。 数据万象 CI 是依托腾讯云对象存储的数据处理平台,它
云存储
2022/03/03
4470
为什么别人的 WordPress 网站那么快?
越来越多的人使用 WordPress 来搭建网站了,W3techs 最新数据统计显示[1],截止到2021年11月3日,全网有43.0%的网站都是基于WordPress 搭建的。那么问题来了,为什么别人用 WordPress 搭建的网站,又快、又稳定、又好用呢?下面两招教你轻松优化网站速度~ 推荐一个提速减负的宝藏插件:WordPress COS 插件,前往链接(https://wordpress.org/plugins/tencentcloud-cos/)点击直接下载安装,免费使用,两招优化你
云存储
2021/12/10
9350
用数据万象转换图片格式!超全的格式一键转换
你是否曾对如何预览 PSD、RAW 等奇奇怪怪的图片格式感到束手无策?是否在相机原生格式预览等场景中遭遇难题?
云存储
2024/08/29
3600
用数据万象转换图片格式!超全的格式一键转换
【对象存储COS】利用数据万象CI对影像内容空间进行优化
业务量的不断扩大,导致对象存储的存储空间以及流量迅速增大,尤其是图片业务,web中最关键的部分,由于html的同步加载特性,通常是一张加载完才能加载下一张,在本地降低分辨率会丢失图片大部分细节,那么除了让本地图片一张张压缩之外,还有什么办法大幅度减小图片体积呢?
Ar-Sr-Na
2022/03/22
1.7K1
【对象存储COS】利用数据万象CI对影像内容空间进行优化
【日常】图床中图片水印设置方法小结
every blog every motto: You can do more than you think.
胡侃有料
2024/04/24
1280
对象存储 AVIF 图片压缩,邀您参与免费内测!
现在硬件设备越来越强大,随手拍个照的图片可能就有几MB大小!图片在保存、传播的过程中,成本及效率应该成为你最关注的问题。
云存储
2021/08/24
1.5K0
对象存储 AVIF 图片压缩,邀您参与免费内测!
腾讯云数据万象CI助力企业解决图片处理需求!
数据上云已经成为了一个必然趋势。企业将数据上传至“对象存储COS”,确保数据的高可用高可靠,随时随地管理,并使用本文的主人公“数据万象CI”解决了各式各样的图片处理需求。
云存储
2020/03/16
3.6K0
【玩转腾讯云】基于COS+CI+MPS图文音视频完整解决方案
本文将主要介绍如何通过腾讯云下的对象存储COS,数据万象CI,视频处理MPS、CMQ和CDN等服务来一招解决社区功能中图文音视频方案。
netkiddy
2020/04/13
2.4K0
【玩转腾讯云】基于COS+CI+MPS图文音视频完整解决方案
图片处理超规则和超限制报错排查
腾讯云数据万象产品支持图片功能,但在图片处理过程中,对图片是有规则和限制,具体如下:
卓恒
2020/11/24
1.9K0
推荐阅读
相关推荐
腾讯云【数据万象】使用指南——基础图片处理(上)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档