Dateiendungen anhand des MIME-Typs finden
Wandeln Sie einen MIME-Inhaltstyp in die Dateiendungen um, die Menschen und Software üblicherweise erwarten.
Im Browser ausführen – kostenlos
Die Suche akzeptiert Werte wie application/json, image/jpeg oder text/html; charset=utf-8, vereinheitlicht die Groß- und Kleinschreibung, entfernt MIME-Parameter und gibt sowohl eine bevorzugte Endung als auch alle gängigen Alternativen aus der integrierten Tabelle zurück. Das hilft, wenn ein Antwortheader, Upload-Datensatz oder Daten-URI den Medientyp, aber keinen verlässlichen Dateinamen enthält.
Ermitteln Sie aus einem Inhaltstyp eine praktische Dateiendung
HTTP-Antworten, E-Mail-Anhänge, Objektspeicher und Daten-URIs kennzeichnen Nutzdaten häufig mit einem MIME-Typ, während der Dateiname fehlt oder unzuverlässig ist. Diese Suche liefert Ihrer Anwendung eine praktische Endung. Senden Sie einen Wert im bekannten Format Typ/Untertyp, etwa image/jpeg, und Sie erhalten eine primäre Endung sowie eine geordnete Liste erkannter Alternativen. Der primäre Wert ist die übliche Vorgabe zum Erstellen eines Namens; die vollständige Liste hilft beim Vergleichen vorhandener Namen oder Anzeigen zulässiger Formen. Die Endungen werden ohne führenden Punkt ausgegeben, damit Sie sie nach Ihren Regeln anfügen, vergleichen oder formatieren können. Der Dienst untersucht keine Dateibytes und betrachtet einen Header nicht als Echtheitsnachweis. Er kehrt lediglich eine Endung-zu-MIME-Zuordnung anhand einer integrierten Tabelle für Webformate, Dokumente, Archive, Schriften, Audio-, Bild- und Videoformate um.
Berücksichtigen Sie Normalisierung, Aliasse und mehrere Endungen
Echte Content-Type-Werte sind selten so sauber wie Beispiele in einem Register. Server verwenden möglicherweise Großbuchstaben oder ergänzen Parameter wie eine Zeichenkodierung. Die Suche entfernt äußere Leerzeichen, wandelt den Medientyp in Kleinbuchstaben um und ignoriert alles nach dem ersten Semikolon. Daher wird Text/HTML; charset=UTF-8 genau wie text/html aufgelöst. Vor dem Tabellenzugriff wird die normalisierte Typ/Untertyp-Syntax geprüft; dadurch lässt sich eine fehlerhafte Eingabe von einem gültigen, aber nicht unterstützten MIME-Typ unterscheiden. Manche Formate besitzen mehrere gebräuchliche Endungen. Bei image/jpeg ist beispielsweise jpg der bevorzugte Wert, während jpeg und jpe als Alternativen erscheinen. Die Reihenfolge ist absichtlich stabil, sodass Sie primary_extension ohne eigene Prioritätsregeln nutzen können. Die Aliasse content_type und mime werden ebenfalls akzeptiert, obwohl mime_type das kanonische Feld in generierten Clients ist.
Nutzen Sie das Ergebnis sicher bei Importen und Downloads
Ein typischer Ablauf empfängt einen Body und einen Content-Type-Header, wählt eine Endung und speichert den Body unter einem erzeugten Namen. Verwenden Sie primary_extension für diesen letzten Bestandteil, prüfen Sie den Inhalt jedoch separat. MIME-Metadaten können fehlen, falsch sein oder vom hochladenden Benutzer kontrolliert werden; eine plausible Endung macht nicht vertrauenswürdige Bytes nicht sicher. Wenn Ihr System das Ergebnis ausführt, in einer Vorschau zeigt oder veröffentlicht, untersuchen Sie zuerst den Inhalt und wenden Sie die passende Sicherheitsrichtlinie an. Die vollständige Liste unterstützt die Validierung: Normalisieren Sie die Endung eines vorhandenen Namens und prüfen Sie, ob sie unter den Alternativen steht, statt eine gültige jpeg-Datei abzulehnen, weil jpg bevorzugt wird. Unbekannte Typen erzeugen einen ausdrücklichen Fehler, da Raten anhand des Untertyps irreführende oder gefährliche Namen schaffen kann. Die integrierte Tabelle liefert stets reproduzierbare Ergebnisse. Die API-Ausführung kostet $0.002 pro Element.
Anwendungsfälle
Eine heruntergeladene Antwort benennen
Wählen Sie eine übliche Endung, wenn eine HTTP-Antwort Content-Type, aber keinen brauchbaren Content-Disposition-Dateinamen enthält.
Upload-Metadaten prüfen
Vergleichen Sie die Endung einer hochgeladenen Datei mit allen gängigen Endungen des angegebenen MIME-Typs.
Gespeicherte Binärobjekte exportieren
Stellen Sie lesbare Namen aus Metadaten wieder her, die den MIME-Typ, aber nicht den ursprünglichen Namen enthalten.
Häufige Fragen
Enthält die zurückgegebene Endung einen Punkt?
Nein. Endungen werden als jpg oder html ohne führenden Punkt zurückgegeben.
Was geschieht mit charset und anderen MIME-Parametern?
Parameter nach dem ersten Semikolon werden ignoriert; text/html; charset=utf-8 wird daher als text/html gesucht.
Warum kann ein MIME-Typ mehrere Endungen liefern?
Für einige Formate sind mehrere Suffixe etabliert. Das Ergebnis kennzeichnet einen bevorzugten Wert und behält gängige Alternativen in stabiler Reihenfolge bei.
Wird damit der Dateiinhalt überprüft?
Nein. Es werden nur deklarierte MIME-Metadaten zugeordnet. Prüfen Sie nicht vertrauenswürdige Bytes vor Ausführung, Vorschau oder Veröffentlichung separat.
Was geschieht, wenn der MIME-Typ nicht in der Tabelle steht?
Die Suche meldet einen ungültigen Eingabewert, statt eine Endung aus dem Untertyp zu erraten.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/extension-from-mime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mime_type":"application/json; charset=utf-8"}'const res = await fetch("https://api.kit.forhosting.com/dev/extension-from-mime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mime_type": "application/json; charset=utf-8"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/extension-from-mime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mime_type": "application/json; charset=utf-8"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/extension-from-mime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mime_type":"application/json; charset=utf-8"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mime_type":"application/json; charset=utf-8"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/extension-from-mime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"mime_type": "application/json; charset=utf-8"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.extension_from_mime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |