本文介绍图片处理的图片URL规则。
图片服务都是使用标准的HTTP的GET请求来访问的,所有的处理参数也是编码在URL中的。
直接获取原图
用户有两种方式访问图片,分别是:
- 三级域名
- 自定义域名
http://channel./object
这里的endpoint指的是用户图片所在的Region的图片服务的访问域名,关于访问域名请参考访问域名,object为用户所关联的channel上存储的原图片。
另外一种方式是通过用户绑定的图片服务域名,也就是自定义域名来访问,形式如下:
http://userdomain/object
其中userdomain为用户开通图片服务绑定的自定义域名,这个域名会关联到一个channel,这里假设用户自定义域名userdomain已经CNAME到channel.endpoint这个三级域名上。object为用户所关联channel上存储的原图片。
通过处理参数访问原图
如果用户对原图进行一定的处理然后返回,同样有两种形式,URL的格式如下:
- 通过三级域名访问:
http://channel.<endpoint>/object@action.format
- channel:用户的IMG频道
- endpoint:用户的Channel所在数据中心的访问域名
- object:用户上传在OSS上的图片文件
- action:用户对图片做的处理
- format:用户指定处理后的图片格式
- 通过用户自定义域名访问:
http://userdomain/object@action.format
一个典型的URL的例子如下:
http://bucket.endpoint/object@100w_100h_90Q.jpg
三级域名
http://userdomain/object@100w_100h_90Q.jpg
自定义域名
其中的@100w_100h_90Q
为转换的具体action,jpg
为转换的format,合在一起的100w_100h_90Q.jpg
称为转换字符串,用来指定对于目标图片的操作,通过指定转换字符串,生成并返回另一张转换处理后的图片。
一个典型的转换字符串,如@100w_100h_90Q.jpg
,代表需要一张宽(w)100px、高(h)100px、绝对质量(Q)90%、jpg格式的图片。
通过样式访问原图
为了简化使用,用户可以将特定的处理方法保存为样式,这样以后调用同样的处理方法只需要指定某个样式即可。使用样式来进行图片处理的URL形式如下:
http://userdomain/object@!style
@!
是目前支持的样式分隔符,style
是样式的名称,如:
http://image-demo.img.aliyuncs.com/example.jpg@!pipe1
其中 pipe1
是样式名称。