对图片进行处理后,所有的操作都会以参数形式加在图片的URL之后,导致图片URL变得冗长,不便于管理与阅读。OSS的图片处理服务允许您将常见的操作保存为一个别名,即样式(Style)。利用样式功能,只需一个很短的图片URL就能实现对图片的复杂操作。

背景信息

您可以在一个Bucket下创建多个样式,这些样式的作用范围仅限于该Bucket下的图片文件。目前,您最多可以在一个Bucket下创建50个样式。

样式访问规则

您可以通过以下两种方式访问图片样式:

  • URL参数方式访问
    <文件URL>?x-oss-process=style/<StyleName>

    示例:bucket.aliyuncs.com/sample.jpg?x-oss-process=style/stylename

    这种方式是图片处理默认支持的样式访问方式。

  • 分隔符方式访问
    <文件URL><分隔符><StyleName>

    示例:bucket.aliyuncs.com/sample.jpg{分隔符}stylename

    如果图片的URL中带有指定的分隔符,图片处理服务会将分隔符后的内容作为样式名称处理。分隔符只有在控制台配置成功后才能生效。目前OSS支持以下样式分隔符:-_/、及!
    说明 如果使用IMG域名,必须开启OSS同步功能才能使用分隔符方式访问。
说明
  • 上述示例中,StyleName是样式的名称。
  • 创建样式、删除样式和修改样式都必须在控制台操作。
  • 当访问的样式在指定Bucket中不存在时,将返回NotSuchStyle错误。
  • 如使用自定义样式处理动态图片(如gif格式的图片),需要在样式中加入格式转换参数/format,gif,否则可能会导致其在处理后变为静态图。

设置分隔符

如需通过分隔符方式访问图片样式,需要按照以下步骤在控制台中设置分隔符:

  1. 登录OSS管理控制台
  2. 在左侧的存储空间列表中,单击需要设置样式分隔符的存储空间名称。
  3. 在存储空间详情页中,单击图片处理页签,然后单击访问设置

    图片样式_图片处理指南_数据处理_对象存储 OSS 阿里云技术文档 第1张
  4. 访问设置对话框中设置自定义分隔符
  5. 单击确定

示例

假设为名称为image-demo的Bucket创建以下样式:

样式名 样式内容
panda_style image/resize,m_fill,w_300,h_300,limit_0/auto-orient,0/quality,q_90/watermark,image_cGFuZGEucG5n,t_61,g_se,y_10,x_10

创建样式后,通过以下三种方式访问图片效果相同,但使用样式访问具有最短的图片URL。

SDK 示例