开发者社区 问答 正文

如何实现图片样式?


所有对图片的变换都会加在URL后面,会导致URL变得冗长,不方便管理与阅读。图片处理服务提供用户将常见的操作保存成一个别名,即样式(Style)。一个复杂操作,利用样式功能后,只要用一个很短的URL就能实现相同的效果。
一个Bucket下面有多个样式,样式的作用范围只在一个Bucket下,目前一个Bucket允许最多有50个样式。

样式访问规则


[backcolor=transparent]URL参数方式访问

  1. [backcolor=transparent]<文件URL>?x-oss-process=style/[backcolor=transparent]<StyleName>

示例:
bucket.aliyuncs.com/sample.jpg?x-oss-process=style/stylename。这种方式是图片处理默认支持样式访问方式。
[backcolor=transparent]分隔符方式访问
  1. [backcolor=transparent]<文件URL><分隔符>[backcolor=transparent]<StyleName>

示例:bucket.aliyuncs.com/sample.jpg@!stylename。其中@!是样式的分隔符,在URL带了这个分隔符,图片处理服务会把该分隔符后面的内容当成样式的名称。该方式为图片处理可选的使用方式,您也可以 在控制台设置分隔符。同时还能支持-、_、/、!等多种可选样式分隔符。
  • StyleName表示的是样式的名字。
  • 创建样式、删除样式和修改样式都在前端控制台实现。
  • 当访问的样式在指定Bucket不存在时,将返回NotSuchStyle错误。


设置分隔符


  1. OSS管理控制台 左侧存储空间列表中,单击您要向其中设置分隔符的存储空间名称。

  2. 单击[backcolor=transparent]图片处理页签,找到[backcolor=transparent]访问设置按钮。如下图所示:

  3. 单击[backcolor=transparent]访问设置,打开[backcolor=transparent]设置窗口,如下图所示:

    在[backcolor=transparent]设置窗口中您可以进行以下设置:

    • 开启原图保护:开启原图保护后,图片文件只能通过传入stylename和带签名的方式访问;将禁止直接访问OSS 原文件或传入图片参数修改图片样式的访问。

    • 自定义分隔符。

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

示例


假如对image-demo这个bucket创建一个样式:
样式名样式内容
panda_sytleimage/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

[backcolor=transparent]直接参数访问

[backcolor=transparent]通过URL参数,使用样式访问

[backcolor=transparent]通过样式分隔符,使用样式方式访问

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

展开
收起
青衫无名 2017-10-23 10:55:30 2587 分享 版权
阿里云 AI 助理回答

在阿里云OSS图片处理服务中,为了简化复杂图片变换操作的URL,用户可以利用**样式(Style)**功能。一个样式允许您将一组常见的图片处理操作保存为一个别名,从而通过简短的URL实现这些变换。以下是关于样式访问和设置的详细说明:

样式的作用范围与数量限制

  • 每个Bucket下可创建多个样式,且样式的作用域仅限于该Bucket内部。
  • 目前每个Bucket最多支持创建50个样式。

样式访问规则

URL参数方式访问

  • 格式: bucket.aliyuncs.com/sample.jpg?x-oss-process=style/stylename
  • 例如: 访问名为panda_style的样式,URL为:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=style/panda_style

分隔符方式访问

  • 默认分隔符: @!
  • 格式: bucket.aliyuncs.com/sample.jpg@!stylename
  • 示例: 使用@!作为分隔符访问panda_style样式,URL为:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg@!panda_style
  • 自定义分隔符: 在OSS管理控制台中,您可以自定义其他分隔符,如-, _, /, !等。

设置分隔符步骤

  1. 登录OSS管理控制台。
  2. 选择目标Bucket。
  3. 进入“图片处理”页签,点击“访问设置”。
  4. 在设置窗口中,您可以开启原图保护,并自定义分隔符。
  5. 确认设置后点击“确定”。

示例样式应用

假设创建了一个样式: - 样式名: panda_style - 样式内容: 包含缩放、自动旋转、质量调整及添加熊猫图片水印的操作。

直接使用参数访问的URL可能冗长难读,而通过上述两种样式访问方式,可以显著简化URL,同时保持图片处理效果不变。

总结

通过运用样式功能,您可以有效缩短并简化图片处理请求的URL,提升管理和阅读的便捷性。无论是采用URL参数还是分隔符方式,都能达到与直接指定图片处理参数相同的效果,但提供了更高效和易维护的解决方案。记得在OSS管理控制台配置您的样式和访问设置以充分利用这一特性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答