本文介绍图片处理的图片URL规则。

图片服务都是使用标准的HTTP的GET请求来访问的,所有的处理参数也是编码在URL中的。

直接获取原图

用户有两种方式访问图片,分别是:

  • 三级域名
  • 自定义域名
三级域名访问的URL
http://channel./object

这里的endpoint指的是用户图片所在的Region的图片服务的访问域名,关于访问域名请参考访问域名,object为用户所关联的channel上存储的原图片。

自定义域名访问的URL

另外一种方式是通过用户绑定的图片服务域名,也就是自定义域名来访问,形式如下:

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 是样式名称。