图片处理持久化
图片处理服务默认是不保存处理后的图片。您可以在图片处理的请求内添加转存参数,将处理后的图片作为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的具体实现,请参考以下文档:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论