所有对图片的变换都会加在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带了分隔符,图片处理服务会把该分隔符后面的内容当成样式的名称。分隔符只有在控制台配置成功后才能生效,支持-_/!等多种样式分隔符。该方式为图片处理可选的使用方式。
    • StyleName是样式的名称。
    • 创建样式、删除样式和修改样式都必须在控制台操作。
    • 当访问的样式在指定Bucket中不存在时,将返回NotSuchStyle错误。
    说明 如果使用IMG域名,必须开启OSS同步功能才能使用分隔符方式访问。

设置分隔符

  1. OSS管理控制台左侧存储空间列表中,单击您要向其设置分隔符的存储空间名称。
  2. 单击图片处理页签,找到访问设置按钮。

  3. 单击访问设置,打开设置窗口。


    设置窗口中您可以进行以下设置:

    • 原图保护
      开启原图保护后,您需要了解以下信息:
      • 图片文件只能通过传入stylename和带签名的方式访问。
      • 将禁止直接访问OSS原文件或传入图片参数修改图片样式的访问。
      • 您需要选择原图保护后缀,如png、jpg等。
    • 自定义分隔符。

    设置好您需要的选项之后单击确定完成分隔符的设置。

示例

假如对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

三者可以达到同样的效果。

SDK 示例