快速开始 - 5分钟接入压缩API
通过简单的几步操作,即可接入智压通压缩API服务,使用 curl / Python / Java / Node.js 发起首次压缩请求
步骤 1:注册账号并获取 API Key
在开始调用压缩 API 之前,您需要先注册丑梨数据账号并创建应用以获取 API Key
前往控制台注册
访问丑梨数据开发者控制台,使用邮箱或手机号注册账号,完成实名认证后即可开始使用服务。
创建应用
登录控制台后,在「应用管理」中创建新应用,填写应用名称、用途描述,选择所需的服务套餐。
获取 API Key
应用创建完成后,系统会为该应用生成唯一的 API Key,请妥善保管,不要在客户端代码或公开仓库中泄露。
安全提示:API Key 等同于您的账户凭证,请通过环境变量或密钥管理服务读取,切勿硬编码到源码中或提交到代码仓库。
步骤 2:首次 API 调用(curl)
获取 API Key 后,可以使用 curl 快速发起一次压缩请求,验证连通性与服务可用性
curl -X POST https://api.uglypear.com/v1/compress \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "file=@document.pdf" \
-F "quality=high"
请求中 YOUR_API_KEY 替换为您的实际 API Key,file=@document.pdf 指向待压缩的本地文件,quality 参数可选 low / medium / high。
步骤 3:Python 示例代码
使用 Python requests 库上传文件并获取压缩结果,适合后端服务集成与数据处理脚本
import requests
url = "https://api.uglypear.com/v1/compress"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("document.pdf", "rb")}
data = {"quality": "high", "format": "pdf"}
response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
print(f"压缩完成,下载链接: {result['download_url']}")
步骤 4:Node.js 示例代码
使用 Node.js 通过 form-data 与 fetch 上传文件,适用于服务端 Node 应用与 Serverless 场景
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('file', fs.createReadStream('document.pdf'));
form.append('quality', 'high');
fetch('https://api.uglypear.com/v1/compress', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() },
body: form
}).then(res => res.json()).then(data => console.log(data));
步骤 5:Java 示例代码(OkHttp)
使用 Java OkHttp 客户端构建 multipart 请求,适合企业级 Java 后端与 Android 应用集成
import okhttp3.*;
import java.io.File;
public class CompressDemo {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
File file = new File("document.pdf");
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(),
RequestBody.create(file, MediaType.parse("application/pdf")))
.addFormDataPart("quality", "high")
.build();
Request request = new Request.Builder()
.url("https://api.uglypear.com/v1/compress")
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
}
}
API 响应格式说明
压缩请求成功后,服务端返回 JSON 格式的响应,包含任务标识与压缩结果信息
{
"task_id": "task_8f3c2a1b9e7d4c5f",
"status": "completed",
"download_url": "https://api.uglypear.com/v1/tasks/task_8f3c2a1b9e7d4c5f/download",
"original_size": 5242880,
"compressed_size": 1572864,
"compression_ratio": "70.0%"
}
task_id
本次压缩任务的唯一标识,可用于查询任务状态、下载结果文件或删除任务。
status
任务状态,取值为 pending / processing / completed / failed。
download_url
压缩结果文件的下载地址,任务完成后即可通过该链接获取压缩后的文件。
original_size
原始文件大小,单位为字节(Byte)。
compressed_size
压缩后文件大小,单位为字节(Byte)。
compression_ratio
压缩率,表示体积缩减的百分比,数值越高压缩效果越好。