压缩解压缩

快速入门

又拍云处理(压缩解压缩)基于云存储服务,您在使用它之前,请确保您已经注册又拍云账号并完成实名验证,请确保您已经创建云存储服务

价格方面,免费。


开发者指南

提交处理任务

请求方法

对已经存在云存储中的压缩/解压缩文件,以 POST 方法向 http://p0.api.upyun.com/pretreatment/ 提交处理任务,响应中返回任务 task_id。任务以异步的方式处理,处理完成后,回调通知用户处理结果。

curl -X POST \
    http://p0.api.upyun.com/pretreatment/ \
    -H "Authorization: UPYUN <Operator>:<Signature>" \
    -H "Date: <Wed, 29 Oct 2014 02:26:58 GMT>" \
    -H "Content-MD5: <Content-MD5>" \
    -d "service=<service>" \
    -d "notify_url=<notify_url>" \
    -d "app_name=<app_name>" \
    -d "tasks=<base64 编码后的任务字符串>"

认证鉴权

Authorization 详见签名认证

请求参数

参数 类型 必选 说明
service string 压缩/解压缩文件所在的服务名
notify_url string 回调通知地址,详见回调通知
tasks string 任务信息,详见 tasks 参数说明
app_name string 处理功能,compress 表示压缩,depress 表示解压缩

tasks 参数说明

1. 按 JSON 格式组装任务,一次请求 tasks 最多可以提交 10 个任务。 任务参数见功能

[
    {
        "sources": ["/a/1.pdf","/a/b/"],     // 需要压缩的文件路径
        "save_as": "/result/abc.zip"         // 保存路径
    },
    {
        "sources": ["/e/f","/e/g.jpg"],         // 需要压缩的文件或目录路径
        "save_as": "/result/e.zip"              // 保存路径
    },
    …
]

2. 把 JSON 字符串 Base64 编码,得到 tasks

响应信息

[
    "35f0148d414a688a275bf915ba7cebb2",
    "98adbaa52b2f63d6d7f327a0ff223348",
    "c3103189fa906a5354d29bd807e8dc51",
    …
]

回调通知

任务处理完成后,向 notify_url 发送 HTTP POST 请求,请求体是回调信息。

curl -X POST \
    <notify_url> \
    -H "Authorization: UPYUN <Operator>:<Signature>" \
    -H "Date: <Wed, 29 Oct 2014 02:26:58 GMT>" \
    -H "Content-MD5: <Content-MD5>" \
    -d "service=<service>" \
    # 其他参数...

回调信息

回调信息是 JSON 字符串,参数名及说明如下:

参数 类型 说明
task_id string 任务对的任务 ID
status_code integer 处理结果状态码,200 表示成功处理
path string 输出文件保存路径
error string 错误信息,空字符串表示无错误信息

回调签名

Authorization 详见签名认证


状态码表

状态码 说明
200 处理成功
400 文件不合法
404 文件不存在
5xx 服务端错误。如遇此类错误,请反馈给售后或您的商务经理

功能

压缩(compress)

将多个文件或文件夹压缩成一个压缩文件。

参数 类型 必选 说明
sources array 需要被压缩的文件或目录的路径,路径不需要 URI encoding。见「注」
save_as string 输出文件保存路径
home_dir string 文件或目录被压缩时可不包含的父目录。默认包含从根开始的全部目录
sources_list string 需要被压缩的文件或目录信息的文件路径。见「注」

[
    {
        "sources": ["/a/b/c/source/1.jpg","/a/b/c/source/2.jpg"],
        "save_as": "/result/t.zip",
        "home_dir": "a/b/c" //压缩时,不包含的目录
    }
]

压缩文件的目录结构如下:( a/b/c 父目录已经不存在了,放在 a/b 父目录下的文件也已经不存在了)

source
|-------1.jpg
|-------2.jpg

解压缩(depress)

将压缩文件解压到指定目录。

参数 类型 必选 说明
sources string 需要解压缩文件的路径
save_as string 文件解压缩后保存路径(需要为目录)

注:


如有疑问请 联系我们