Codebeispiele - Mehrsprachiger Komprimierungscode

Komprimierungs-API-Codebeispiele sortiert nach Sprache und Szenario, deckt Python, Node.js, Java, Go, curl ab, mit Best Practices fuer KI-Datenvorverarbeitung, Stapel-Callbacks, verschluesselte Komprimierung und mehr

Python Beispiele

Verwendung der requests-Bibliothek fuer Komprimierungs-API-Aufrufe, unterstuetzt Einzeldatei-, Stapel- und asynchrone Modi

Einzeldatei-Komprimierung

import requests

resp = requests.post(
    "https://api.uglypear.com/v1/compress",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"file": open("input.pdf", "rb")},
    data={"quality": "high"}
)
print(resp.json())

Stapelkomprimierung

import requests

files = [("files", open(f, "rb")) for f in ["a.pdf", "b.pdf", "c.pdf"]]
resp = requests.post(
    "https://api.uglypear.com/v1/batch/compress",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files=files,
    data={"quality": "medium", "callback_url": "https://yourapp.com/callback"}
)
print(resp.json())

Asynchrone Komprimierung

import asyncio
import aiohttp

async def compress(path):
    async with aiohttp.ClientSession() as session:
        with open(path, "rb") as f:
            data = aiohttp.FormData()
            data.add_field("file", f)
            data.add_field("quality", "high")
            async with session.post(
                "https://api.uglypear.com/v1/compress",
                headers={"Authorization": "Bearer YOUR_API_KEY"},
                data=data
            ) as resp:
                return await resp.json()

asyncio.run(compress("input.pdf"))

Node.js Beispiele

Verwendung von axios + form-data fuer Streaming-Upload und Stapelverarbeitung

Streaming-Komprimierung

const fs = require("fs");
const FormData = require("form-data");
const axios = require("axios");

const form = new FormData();
form.append("file", fs.createReadStream("input.pdf"));
form.append("quality", "high");

axios.post("https://api.uglypear.com/v1/compress", form, {
    headers: {
        ...form.getHeaders(),
        Authorization: "Bearer YOUR_API_KEY"
    }
}).then(res => console.log(res.data));

Stapelverarbeitung

const fs = require("fs");
const FormData = require("form-data");
const axios = require("axios");

const form = new FormData();
["a.pdf", "b.pdf", "c.pdf"].forEach(f =>
    form.append("files", fs.createReadStream(f))
);
form.append("quality", "medium");

axios.post("https://api.uglypear.com/v1/batch/compress", form, {
    headers: { ...form.getHeaders(), Authorization: "Bearer YOUR_API_KEY" }
}).then(res => console.log(res.data));

Java Beispiele

Verwendung von OkHttp fuer multipart-Upload-Komprimierungsanfragen

OkHttpClient client = new OkHttpClient();

RequestBody body = new MultipartBody.Builder()
    .setType(MultipartBody.FORM)
    .addFormDataPart("file", "input.pdf",
        RequestBody.create(new File("input.pdf"),
            MediaType.parse("application/pdf")))
    .addFormDataPart("quality", "high")
    .build();

Request request = new Request.Builder()
    .url("https://api.uglypear.com/v1/compress")
    .header("Authorization", "Bearer YOUR_API_KEY")
    .post(body)
    .build();

try (Response response = client.newCall(request).execute()) {
    System.out.println(response.body().string());
}

Go Beispiele

Verwendung der Standardbibliothek net/http und mime/multipart zum Erstellen von Anfragen

package main

import (
    "bytes"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    file, _ := os.Open("input.pdf")
    defer file.Close()

    var buf bytes.Buffer
    writer := multipart.NewWriter(&buf)
    part, _ := writer.CreateFormFile("file", "input.pdf")
    io.Copy(part, file)
    writer.WriteField("quality", "high")
    writer.Close()

    req, _ := http.NewRequest("POST",
        "https://api.uglypear.com/v1/compress", &buf)
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", writer.FormDataContentType())

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    println(string(body))
}

curl Beispiele

Schnelle Komprimierungs-API-Aufrufe ueber die Kommandozeile, ideal fuer Skripte und automatisierte Tests

curl -X POST https://api.uglypear.com/v1/compress \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "quality=high"

Best Practices nach Szenario

Empfohlene Integrationsmethoden fuer typische Geschäftsszenarien

KI-Datenvorverarbeitungs-Pipeline-Integration

Rufen Sie die Komprimierungs-API vor dem Data-Ingestion auf, um Dokumente/Bilder vorzuverarbeiten, den Speicherbedarf zu senken und bei Bedarf fuer Modelltraining zu dekomprimieren, um die Lese-Pipeline zu beschleunigen.

# Pipeline-Integration: Komprimierung vor Ingestion
result = comp.compress_file("dataset/doc.pdf", quality="high")
upload_to_storage(result.output_path)

Stapelkomprimierung + Callback-Benachrichtigung

Asynchrone Verarbeitung der Stapelschnittstelle. Nach Abschluss der Aufgabe wird das Ergebnis an die callback_url gepusht, um lange Wartezeiten bei Verbindungen zu vermeiden.

resp = requests.post(
    "https://api.uglypear.com/v1/batch/compress",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files=files,
    data={"callback_url": "https://yourapp.com/callback"}
)

Verschluesselte Komprimierung mit Passwort

Fuegen Sie fuer vertrauliche Dateien den password-Parameter hinzu. Der Server verschluesselt und komprimiert, um Uebertragungs- und Speichersicherheit zu gewaehrleisten.

curl -X POST https://api.uglypear.com/v1/compress \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@input.pdf" \
  -F "password=YourStrongPass"

Grossdatei-Chunk-Upload-Komprimierung

Fuer sehr grosse Dateien zuerst in Chunks hochladen, dann die Gesamtkomprimierung ausloesen, um Single-Request-Timeouts zu vermeiden und die Erfolgsrate zu erhoehen.

// Chunk-Upload + Komprimierung ausloesen
for (const chunk of chunks) {
    await uploadChunk(chunk);
}
await axios.post("https://api.uglypear.com/v1/compress",
    { upload_id, quality: "high" }, { headers });

GitHub Repository

Weitere vollstaendige Beispielprojekte werden in Kuerze Open Source veroeffentlicht

uglypear-compressor-examples

Enthaelt vollstaendig ausfuehrbare Beispielprojekte fuer Python, Node.js, Java, Go und curl. Wird in Kuerze Open Source. Fuer fruehen Zugriff kontaktieren Sie bitte den technischen Support.

Kontaktieren Sie uns

Vollstaendige API-Dokumentation ansehen

Konsultieren Sie Schnittstellenparameter, Fehlercodes und den Online-Debugger, um alle Faehigkeiten der Komprimierungs-API zu beherrschen

API-Dokumentation ansehen Schnellstart SDK herunterladen