更新时间:2024-11-26 GMT+08:00

开始图片处理(API接口)

使用流程

OBS提供了REST接口。REST从资源的角度来观察整个网络,分布在各处的资源由URI(Uniform Resource Identifier)确定,而客户端的应用通过URL(Unified Resource Locator)来获取资源。URL的一般格式为:https://Endpoint/uri。用户只需在浏览器地址栏中输入符合图片处理命令规则的URL,即可获取到处理后的图片。

本章简要展示使用RESTful API接口方式访问和使用图片处理的流程,具体如图1所示。

图1 接口场景使用流程

注册账号并开通服务

在使用图片处理前,您需要拥有一个云服务账号并且成功开通OBS。开通OBS服务成功后图片处理也随之成功开通,使用OBS服务之前必须先充值,充值完成后即可进行访问和使用。如果您已经开通OBS且完成充值,请跳过此章节。

  1. 打开华为云网站https://www.huaweicloud.com/intl/zh-cn/
  2. 单击“注册”。
  3. 在注册页面,根据提示信息完成注册。

    注册成功后,系统会自动跳转至您的个人信息界面。

  4. 为保证您正常使用图片处理,建议您先创建OBS桶。

上传图片

您可以使用OBS管理控制台、OBS客户端和RESTful API方式上传图片。

具体请参见上传图片

如果您的桶中已经存在需要处理的图片,请跳过此章节。

如果您需要通过自定义域名使用图片处理,需要为待处理的图片配置匿名用户读取权限。配置请参考对匿名用户授予指定对象的公共读权限进行配置。

处理图片

此章节介绍通过RESTestful API方式进行图片处理操作的URL构成。当已成功开通OBS后,在浏览器地址中输入符合规则的URL即可通过RESTful API方式使用图片处理。

URL组成形式

URL由OBS域名、OBS上的桶名、原图片名称、处理命令或样式名组成。

命令访问方式

URL形式为:https://bucketName.endpoint/objectName?x-image-process=image/commands

  • endpoint为桶所在区域对应的终端节点地址,可以在桶的基本信息处获取。有关OBS区域和终端节点的更多信息,请参考地区和终端节点
  • bucketName为OBS中待处理图片存放的桶名。
  • objectName为存储在OBS上bucketName桶下的原图片名称,后缀名必须为图片处理支持的图片格式。
  • commands为处理命令。处理命令之间和命令参数之间会使用三种分隔符,参见分隔符。如果不输入处理命令,将返回原图。

例如:https://hw-image-demo.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=image/crop,x_100,y_50

  • 分隔符

分隔符是指URL中用来区分命令访问方式一些关键字段的分隔符号。具体说明如表1所示。

表1 分隔符

名称

样式

顺序

说明

参数分隔符

_

固定顺序

命令参数与参数值之间的分隔符。

命令分隔符

,

无关

多项处理命令参数之间的分隔符。

管道分隔符

/

有关

两组处理命令之间分隔符,参见管道

  • 管道

如果一个图片,需要进行多重处理,如先剪切、后缩略等,则多组操作命令之间,需要以管道分隔符“/”进行连接,执行顺序按管道指定顺序从左至右执行。

例如:https://image-demo.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=image/resize,w_100,h_100/quality,q_80为两个管道,执行顺序为从左到右,左侧命令处理结果将会作为右侧命令的输入。

样式访问方式

URL形式为:https://bucketName.endpoint/objectName?x-image-process=style/stylename

  • endpoint为桶所在区域对应的终端节点地址,可以在桶的基本信息处获取。有关OBS区域和终端节点的更多信息,请参考地区和终端节点
  • bucketName为OBS上的桶名。
  • objectName为存储在OBS上bucketName桶下的原图片名称,后缀名必须为图片处理支持的图片格式。
  • stylename为在控制台bucketName桶下创建好的样式名称。RESTful API方式现暂不支持其他样式相关等操作,如创建样式、更改样式和删除样式。

样例:https://image-demo.obs.obs.ap-southeast-1.myhuaweicloud.com/example.jpg?x-image-process=style/stylename