
# 开始图片处理（API接口）
#### 使用流程
OBS提供了REST接口。REST从资源的角度来观察整个网络，分布在各处的资源由URI（Uniform Resource Identifier）确定，而客户端的应用通过URL（Unified Resource Locator）来获取资源。URL的一般格式为：https://***Endpoint*** /***uri***。用户只需在浏览器地址栏中输入符合图片处理命令规则的URL，即可获取到处理后的图片。
本章简要展示使用RESTful API接口方式访问和使用图片处理的流程，具体如[图1]所示。
图1接口场景使用流程   
![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000001971625473.png)
#### 注册账号并开通服务
在使用图片处理前，您需要拥有一个云服务账号并且成功开通OBS。开通OBS服务成功后图片处理也随之成功开通，使用OBS服务之前必须先充值，充值完成后即可进行访问和使用。如果您已经开通OBS且完成充值，请跳过此章节。
1. 打开华为云网站[www.huaweicloud.com](https://www.huaweicloud.com)。
2. 单击"注册"。
3. 在注册页面，根据提示信息完成注册。 
   注册成功后，系统会自动跳转至您的个人信息界面。
   
   
4. 为保证您正常使用图片处理，建议您先创建OBS桶。
 
#### 上传图片
您可以使用OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)、OBS客户端和RESTful API方式上传图片。
具体请参见[上传图片](https://support.huaweicloud.com/usermanual-obs/obs_03_1002.html#ZH-CN_TOPIC_0000001948908065)。
如果您的桶中已经存在需要处理的图片，请跳过此章节。
![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/note_3.0-zh-cn.png)
如果您需要通过自定义域名使用图片处理，需要为待处理的图片配置匿名用户读取权限。配置请参考[对匿名用户授予指定对象的公共读权限](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0033.html)进行配置。
#### 处理图片
此章节介绍通过RESTful API方式进行图片处理操作的URL构成。当已成功开通OBS后，在浏览器地址中输入符合规则的URL即可通过RESTful API方式使用图片处理。
#### URL组成形式
URL由OBS域名、OBS上的桶名、原图片名称、处理命令或样式名组成。
#### 命令访问方式
URL形式为：https://*bucketName.endpoint* /*objectName* ?x-image-process=image/*commands*
- *endpoint* 为桶所在区域对应的终端节点地址，可以在桶的基本信息处获取。有关OBS区域和终端节点的更多信息，请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint?OBS)。
- *bucketName*为OBS中待处理图片存放的桶名。
- *objectName* 为存储在OBS上*bucketName*桶下的原图片名称，后缀名必须为图片处理支持的图片格式。
- *commands* 为处理命令。处理命令之间和命令参数之间会使用三种分隔符，参见[分隔符]。如果不输入处理命令，将返回原图。
例如：<https://e-share.obs.cn-north-1.myhuaweicloud.com/example.jpg?x-image-process=image/crop,x_100,y_50>
- **分隔符**
分隔符是指URL中用来区分命令访问方式一些关键字段的分隔符号。具体说明如[表1]所示。
 表1分隔符 
| 名称    | 样式 | 顺序   | 说明                                                                                                                       |
|:---|:---|:---|:---|
| 参数分隔符 | _  | 固定顺序 | 命令参数与参数值之间的分隔符。                                                                                                          |
| 命令分隔符 | ,  | 无关   | 多项处理命令参数之间的分隔符。                                                                                                          |
| 管道分隔符 | /  | 有关   | 两组处理命令之间分隔符，参见[管道]。 |
   
- **管道**
如果一个图片，需要进行多重处理，如先剪切、后缩略等，则多组操作命令之间，需要以管道分隔符"/"进行连接，执行顺序按管道指定顺序从左至右执行。
例如：[https://image-demo.obs.cn-north-1.myhuaweicloud.com/example.jpg?x-image-process=image/resize,w_100,h_100/quality,q_80](https://e-share.obs.cn-north-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区域和终端节点的更多信息，请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint?OBS)。
- *bucketName*为OBS上的桶名。
- *objectName* 为存储在OBS上*bucketName*桶下的原图片名称，后缀名必须为图片处理支持的图片格式。

- *stylename* 为在控制台*bucketName*桶下创建好的样式名称。RESTful API方式现暂不支持其他样式相关等操作，如创建样式、更改样式和删除样式。
样例：https://image-demo.obs.cn-north-4.myhuaweicloud.com/example.jpg?x-image-process=style/stylename
