全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

图片处理持久化

最近更新时间:2024-01-17 10:25:05

接口

saveas

描述

功能描述

  • 添加转存参数,将处理后的图片作为对象(Object)保存至KS3指定的存储空间(Bucket)内

说明

  1. 权限要求

    • ACL:具有原图Object的读权限,对转存目标Bucket具有写权限

    • Policy:具有源Bucketks3:PostProcessTask权限以及目标Object的ks3:PutObject权限

  2. 转存的Bucket和Region要求

    • 原图所在源Bucket和处理后转存的目标Bucket必须是同region的桶

    • 源桶和目标桶可以不是同一个Bucket

  3. 转存图片读写权限ACL

    • 转存后图片的读写权限ACL默认继承Bucket,不支持自定义

  4. 转存图片存储类型

    • 转存后图片默认存储类型继承桶存储类型,也可以根据x-kss-storage-class自定义存储类型

  5. 转存图片存储时长

    • 转存图片作为KS3的常规object保存

  6. 删除转存后图片方式

    • 支持手动删除操作调用DeleteObject删除

    • 支持设置生命周期规则设置过期策略

  7. 转存相关信息

    • 源图的tagging、usermeta、加密,不转存到目标图

  8. 目标对象已经存在,是否覆盖

    • 直接覆盖,并且更新Last Modified时间

请求

请求语法

POST /{Objectkey}?x-kss-process HTTP/1.1
Host:{BucketName}.{endpoint}
Content-Length: {Content-Length}
Date: {date}
Authorization: {SignatureValue}

x-kss-process=image@base@tag=(图片处理操作)|tag=saveas&o=&b=(转存操作)

请求参数

图片处理持久化功能接口是Post动作,以请求Body的方式传递x-kss-process,增加saveas 参数将处理后的图片保存至指定Bucket

参数名称

是否必填

解释说明

saveas

操作参数名称,转存操作

b

目标Bucket名称,名称需经过URL Safe的Base64编码

  • 若不指定目标Bucket,则默认保存至原图所在Bucket

o

目标Object名称,名称需经过URL Safe的Base64编码。

  • 若不指定目标名称,则默认使用原图文件名

  • 若源桶与目标桶一致,目标图片会替换源图片

请求头部

该请求不需要设置特殊的头部

响应

响应内容

  • 如果请求处理成功,则返回如下JSON格式的转存成功的内容

    HTTP/1.1 200 OK
    Server: KS3
    Date: {date}
    Connection: keep-alive
    Content-Length:{Content-Length}
    Content-Type:{content-type}
    x-kss-request-id:f0uv****2gj4
    
    {
        "bucket": "bucket_name",
        "fileSize": "file_size",
        "object": "object_key",
        "status": "OK"
    }
  • 如果请求失败,则返回如下JSON格式的内容

    {
        "errorCode": <HttpCode int>,
        "tipInfo": <ErrorTipInfo String>,
    }

特殊错误

HTTP状态码

描述

400

  • 请求参数错误(例如:操作参数写错;参数值填错、置空)

  • 请求的文件不是图片或者是KS3不支持的图片格式

403

签名不匹配或无操作对应权限

404

  • Base64解析之后源对象不存在源不存在

  • Base64解析之转存的Bucket不存在

500

服务器端操作失败。如果遇到此种错误,请及时联系我们

示例

您可以通过以下两种方式处理图片并将图片转存至指定Bucket

  • 使用图片处理参数处理图片并转存至指定Bucket,示例如下

POST /{Objectkey}?x-kss-process HTTP/1.1
Host:{BucketName}.{endpoint}
Content-Length: {Content-Length}
Date: {date}
Authorization: {SignatureValue}

//将原图按照水平切割,每块图片的长度为100px,选择第一块,保存到名为example的Bucket中
x-kss-process=image@base@tag=indexcrop&x=100&i=0|tag=saveas&o=dGVzdC5qcGc&b=ZXhhbXBsZQ==
  • 使用样式处理图片并转存至指定Bucket,示例如下

POST /{Objectkey}?x-kss-process HTTP/1.1
Host:{BucketName}.{endpoint}
Content-Length: {Content-Length}
Date: {date}
Authorization: {SignatureValue}

//使用名为examplestyle的样式处理图片后,保存到名为example的Bucket中
x-kss-process=image@style@examplestyle|tag=saveas&o=dGVzdC5qcGc&b=ZXhhbXBsZQ==

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈