图片处理服务

概述

图片处理服务依托对象存储BOS系统对外提供灵活、多样、实时的图片处理服务。用户将原始图片上传到BOS上,通过调用简单的RESTful接口,实现对图片的实时处理,如缩略、裁剪、格式转换、旋转、加文字/图片水印等,处理结果图会通过CDN实时的返回给用户。

在访问速度上,图片处理服务集成了CDN功能,利用遍布在全国的高质量CDN节点,实现图片内容的加速分发,有效降低源站压力。

图片处理服务的架构如下图所示:

  • 用户首次发送请求处理流程:
    1. 用户端首次发送图片处理请求;
    2. 首次请求,CDN未命中,请求会被直接发送到BOS源站进行处理;
    3. 根据用户发送的处理参数对图片进行实时处理;
    4. 处理后的结果图将被缓存到CDN节点上;
    5. 同时,将结果图返回给用户端。
  • 用户端非首次访问图片处理流程:
    1. 用户端发送图片处理请求;
    2. 若CDN命中,则直接跳到步骤5;若CDN未命中,则跳到步骤3;
    3. 请求会被回源到BOS,并根据用户发送的处理参数对图片进行实时处理;
    4. 处理后的结果图被缓存到CDN节点上;
    5. 将结果图返回给用户端。

图片处理服务的灵活便捷体现在,您只要通过在原始图片的URL后直接添加处理参数,即可实时得到处理后的结果图。
例如,您将名为image.jpg的图片存储在BOS上,同时绑定了图片服务域名51mingxi.com,则您的原始图片访问链接为http://51mingxi.com/image.jpg。假如您想将图片缩略为高度200 px,那么您只需要在原始图的访问链接后直接添加处理参数http://51mingxi.com/image.jpg@h_200即可得到缩略后的结果图,更多图片处理使用方法请参见图片处理服务API

计费方式

图片服务收费分为三个部分:

  • CDN流量

    在CDN上会产生请求流量,这些流量将会记录到CDN计费中,请参考CDN产品定价

  • BOS存储空间、请求次数、外网流出流量和CDN回源请求产生的流出流量

    存储空间、请求次数、外网流出流量和CDN回源请求产生的流出流量按BOS标准计费。其中,CDN回源请求的图片流出流量,为处理后目标图的流出流量。请参考BOS产品定价

  • 图片处理数据量

    此部分暂时免费。

使用方式

每个Bucket默认开通图片处理的功能,无需开通,也无需使用特定域名访问。只要能正常访问Object,加上处理参数即可进行图片处理。BOS控制台支持通过命令和样式两种方式访问图片服务。

  • 命令方式访问格式:http://${domain}/${objectkey}@${command}, 样例:http://bucket-A.bj.bcebos.com/sample.jpg@w_200,q_80,命令行语法请参考图片处理服务API
  • 样式方式访问格式:http://${domain}/${objectkey}@!${stylename}, 样例:http://bucket-A.bj.bcebos.com/sample.jpg@!stylename,添加样式操作请参考图片服务

    为了提升图片的安全性,尤其是在BOS中进行了处理并公开发布的图片,BOS也支持对指定Bucket内的图片开启原图保护。即开启原图保护后,如果图片获取者未验证被授权的签名,则只能通过样式方式访问处理后的图像,直接访问原图或通过处理参数访问的方式会被拒绝。目前支持在控制台对原图保护功能进行开启或关闭,也支持通过API进行相关操作,并可通过resource字段指定该功能生效范围,具体请参见原图保护