图片处理服务默认是不保存处理后的图片。您可以在图片处理的请求内添加转存参数,将处理后的图片作为Object保存至指定的Bucket内,并且可以指定Object的名称。保存成功后,您可以在指定的Bucket内访问处理后的图片。

注意事项

  • 进行图片转存操作需要具有目标Bucket和Object的写权限。
  • 图片转存操作调用的是ImgSaveAs接口,您必须具有oss:PostProcessTask权限才可以执行此操作。详情请参见如何构建RAM Policy
  • 目标Bucket和Object的名称需满足OSS的命名规范。
  • 图片转存操作的目标Bucket需和当前Bucket位于同一个Region。
  • 图片转存操作只能在Post操作中执行,不能在Get操作中执行。

请求语法

POST /ObjectName?x-oss-process HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA

使用Post接口来调用图片处理服务。在图片处理请求中增加saveas参数,将处理后图片另存为OSS文件。其中x-oss-process后面的参数与使用queryString来调用图片处理功能的参数一致。

saveas参数列表

参数 含义
o 目标Object名称,参数需经过urlsafe的base64编码。
b 目标Bucket名称,参数需经过urlsafe的base64编码。如果不指定目标Bucket,则默认保存到当前Bucket。

示例

  • 请求示例
    POST /ObjectName?x-oss-process HTTP/1.1
    Host: oss-example.oss.aliyuncs.com
    Content-Length: 247
    Date: Fri, 04 May 2012 03:21:12 GMT
    Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
    x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA

    示例中的参数含义为将目标图片缩放之后保存到名称为test的Bucket,Object名称为test.jpg

  • 返回示例
    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E88A4D8906008B
    Date: Fri, 04 May 2012 03:21:12 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS

SDK

有关图片处理持久化SDK的具体实现,请参考以下文档: