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 unsVollstaendige API-Dokumentation ansehen
Konsultieren Sie Schnittstellenparameter, Fehlercodes und den Online-Debugger, um alle Faehigkeiten der Komprimierungs-API zu beherrschen