Rechercher une extension de fichier par type MIME
Convertissez un type de contenu MIME en extensions de fichier couramment attendues par les utilisateurs et les logiciels.
Lancer gratuitement
La recherche accepte des valeurs comme application/json, image/jpeg ou text/html; charset=utf-8, normalise la casse, supprime les paramètres MIME et renvoie une extension privilégiée ainsi que toutes les variantes courantes de sa table intégrée. Elle est utile lorsqu’un en-tête de réponse, un journal de téléversement ou une URI de données indique le type de média sans fournir de nom de fichier fiable.
Transformez un type de contenu en suffixe de fichier pratique
Les réponses HTTP, pièces jointes, stockages d’objets et URI de données identifient souvent une charge utile par son type MIME tout en laissant son nom vide ou peu fiable. Cette recherche fournit à votre application un suffixe pratique. Envoyez une valeur au format type/sous-type, comme image/jpeg, et vous obtenez une extension principale accompagnée d’une liste ordonnée de variantes reconnues. La valeur principale constitue le choix conventionnel pour créer un nom, tandis que la liste complète permet de comparer un nom existant ou d’afficher les formes acceptées. Les extensions sont renvoyées sans point initial afin que vous puissiez les assembler, les comparer ou les formater selon vos règles. Le service n’examine pas les octets et ne prétend pas qu’un en-tête garantit l’authenticité du fichier. Il inverse simplement une correspondance extension-vers-MIME à partir d’une table intégrée de formats web, documents, archives, polices, sons, images et vidéos.
Maîtrisez la normalisation, les alias et les extensions multiples
Les types de contenu réels sont rarement aussi propres que les exemples d’un registre. Les serveurs peuvent employer des majuscules ou ajouter des paramètres tels qu’un encodage. La recherche retire les espaces périphériques, convertit le type de média en minuscules et ignore tout ce qui suit le premier point-virgule. Text/HTML; charset=UTF-8 est donc résolu comme text/html. La syntaxe type/sous-type normalisée est contrôlée avant la consultation de la table, ce qui distingue une entrée mal formée d’un type MIME valide mais non pris en charge. Certains formats possèdent plusieurs suffixes usuels : pour image/jpeg, le choix privilégié est jpg et les variantes incluent jpeg et jpe. L’ordre est volontaire et stable ; vous pouvez donc utiliser primary_extension sans créer vos propres règles. Les alias content_type et mime sont acceptés, même si mime_type reste le champ canonique des clients générés.
Utilisez le résultat prudemment dans vos flux d’import et de téléchargement
Un flux courant reçoit un corps et un en-tête Content-Type, choisit une extension puis stocke le corps sous un nom généré. Utilisez primary_extension pour ce dernier élément, mais validez le contenu séparément. Les métadonnées MIME peuvent manquer, être erronées ou être contrôlées par l’expéditeur ; ajouter un suffixe plausible ne sécurise pas des octets non fiables. Si votre système exécute, prévisualise ou publie le résultat, inspectez d’abord le contenu et appliquez la politique de sécurité appropriée. La liste complète facilite la validation : normalisez le suffixe d’un nom existant et vérifiez sa présence parmi les variantes au lieu de refuser un jpeg légitime parce que jpg est privilégié. Un type inconnu déclenche une erreur explicite, car déduire un nom du sous-type peut être trompeur ou dangereux. La table étant intégrée, une entrée identique produit toujours la même sortie. L’exécution API coûte $0.002 par élément.
Cas d’usage
Nommer une réponse téléchargée
Choisissez un suffixe conventionnel lorsqu’une réponse HTTP fournit Content-Type, mais aucun nom Content-Disposition exploitable.
Contrôler les métadonnées d’un téléversement
Comparez le suffixe du fichier envoyé à toutes les extensions courantes associées au type MIME déclaré.
Exporter des objets binaires stockés
Reconstruisez des noms lisibles à partir de métadonnées qui conservent le type MIME, mais pas le nom d’origine.
Questions fréquentes
L’extension renvoyée contient-elle un point ?
Non. Les extensions sont renvoyées sous la forme jpg ou html, sans point initial.
Que deviennent charset et les autres paramètres MIME ?
Les paramètres placés après le premier point-virgule sont ignorés ; text/html; charset=utf-8 est donc recherché comme text/html.
Pourquoi un type MIME peut-il renvoyer plusieurs extensions ?
Certains formats possèdent plusieurs suffixes établis. Le résultat en privilégie un et conserve les variantes courantes dans un ordre stable.
Le contenu du fichier est-il vérifié ?
Non. Seules les métadonnées MIME déclarées sont associées. Inspectez séparément les octets non fiables avant toute exécution, prévisualisation ou publication.
Que se passe-t-il si le type MIME est absent de la table ?
La recherche renvoie une erreur d’entrée non valide au lieu de déduire une extension du sous-type.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"mime_type": "application/json; charset=utf-8"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.extension_from_mime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |