阅读715 返回首页    go 魔兽


图片处理访问规则__图片处理指南_对象存储 OSS-阿里云

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

通过处理参数来请求缩略图

如果用户对原图进行一定的处理然后返回,同样有两种形式,URL 的格式如下:

通过三级域名访问

  1. https://bucket.<endpoint>/object?x-oss-process=image/action,parame_value
  • bucket:用户的 IMG 频道
  • endpoint:用户的 bucket 所在数据中心的访问域名
  • object:用户上传在 OSS上的图片文件
  • action:用户对图片做的操作
  • parame:用户对图片做的操作所对应的参数

同时可以多个action之间组合,多个action之间效果顺序执行。例如:image/resize,w_200/rotate,90表示图片先进行宽为200的缩放,再进行90度的旋转。

示例

假如请求Bucket:是image-demo, 该bucket区域在华东1,对应的域名是oss-cn-hangzhou.aliyuncs.com,请求图片是example.jpg, 对图片进行按目标宽度是200进行缩略。

  1. https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200

如果是https方式,访问形式如下:

  1. https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200

通过用户自定义域名访问链接如下

  1. https://userdomain/object?x-oss-process=image/action,parame_value

通过样式来请求缩略图

为了简化使用,用户可以将特定的处理方法保存为样式,这样以后调用同样的处理方法只需要指定某个样式即可。使用样式来进行图片处理的 URL 形式如下:

https://userdomain/object?x-oss-process=style/name

示例

可以将上述处理参数,保存成样式:style-example 那么访问形式可以是假如请求bucket为image-demo, 该bucket区域在华东1,对应的域名是oss-cn-hangzhou.aliyuncs.com,请求图片是example.jpg, 访问图片的样式是:style-example

  1. https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=style/style-example

如果是https方式,访问形式如下:

  1. https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=style/style-example

使用SDK方式

除了public bucket可以直接通过url方式进访问,对于private的文件,我们一般采用SDK的方式来访问。因为图片处理服务都是 GET 操作,所以在Get Object基础上面添加process参数即可。

以Python SDK为例:

  1. bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
  2. key = 'example.jpg'
  3. new_pic = 'new-example.jpg'
  4. process = "image/resize,m_fixed,w_100,h_100"//对于图片进行强制缩略
  5. bucket.get_object_to_file(key, new_pic, process=process)

最后更新:2016-11-29 14:16:37

  上一篇:go 碎片管理__控制台用户指南_对象存储 OSS-阿里云
  下一篇:go 图片缩放__图片处理指南_对象存储 OSS-阿里云