Quel est le type MIME pour les fichiers TTF?

Je ne trouve pas le type MIME correct pour les polices TrueType. J'en ai besoin parce que j'utilise File Uploading Class (CodeIgniter) pour télécharger des fichiers, et je veux autoriser seulement TTF à être téléchargé. Essayé ceci:

'ttf'   =>  'font/ttf'
'ttf'   =>  'font/truetype'

sans succès.

des idées ?

29
demandé sur Robin Kanters 2011-02-26 19:18:52

7 réponses

TTF n'a pas de type MIME assigné. Vous aurez à utiliser le plus général application/octet-stream, qui est utilisé pour indiquer des données binaires sans type MIME assigné.

23
répondu Ori 2011-02-26 16:44:58

j'ai vu font/ttf et application/x-font-ttf utilisé comme type MIME pour TTF. Mais si vos fichiers sont téléchargés comme application/octet-stream et vous ne voulez pas de simplement faire confiance à l' .ttf extension du fichier (ou si vous voulez gérer des fichiers sans extension), vous devrez vérifier le contenu du fichier pour voir s'il s'agit de fichiers TTF. UNIX magic fichier dit qu'un TTF va commencer avec les 5 octets

00 01 00 00 00

(00 01 00 00 à partir de la GDEF version de table et la menant 00 de la table GlyphClassDef offset.)

si votre fichier commence par ces 5 octets, c'est probablement un TTF.

12
répondu dkarp 2011-02-27 15:56:22

je sais que c'est assez ancien, mais pourtant personne ne semble avoir fourni d'exemple concret. Nous voici donc, pour les générations futures:

j'ai eu le même problème avec Apache2 et Chrome. Chrome avertit qu'un fichier envoyé avec le mime-type d'application/octet-stream est en fait un fichier de police - ce qu'il est.

le correctif pour moi était d'ajouter la ligne suivante dans ma config apache2 fichier:

AddType application/x-font-ttf .ttf

ps:

j'avais essayé de mettre à jour le fichier magique mais cela n'a pas fonctionné après le rechargement complet d'apache2. Les correspondances que j'ai essayées (en utilisant de vrais caractères entre les champs, et selon les modèles magiques référencés ci-dessus) sont ci-dessous:

  # True Type fonts
  0 string  01000  application/x-font-ttf
  0 string  01000  TrueType font data mime  application/x-font-ttf
10
répondu Michael Mikowski 2012-09-05 23:24:45

à partir de février 2017,RFC 8081 Ajoute les types de police / * media, qui sont également listés dans le IANA Media Types liste. font/ttf est dans cette liste. Les navigateurs peuvent prendre du temps à rattraper.

9
répondu George Helyar 2017-03-31 08:31:37

Temps de faire un peu de débogage! Si quelque chose ne fonctionne pas, la meilleure option est d'ouvrir le code et de se salir les mains.

ouvrir la bibliothèque de téléchargement (système/bibliothèques / Upload.php) et cherchez ce morceau de code autour de la ligne 200:

    // Set the uploaded data as class variables
    $this->file_temp = $_FILES[$field]['tmp_name'];
    $this->file_size = $_FILES[$field]['size'];
    $this->file_type = preg_replace("/^(.+?);.*$/", "\1", $_FILES[$field]['type']);
    $this->file_type = strtolower(trim(stripslashes($this->file_type), '"'));
    $this->file_name = $this->_prep_filename($_FILES[$field]['name']);
    $this->file_ext  = $this->get_extension($this->file_name);
    $this->client_name = $this->file_name;

Vous verrez que $this - >file_type y est défini. var_dump() et voir ce qu'il contient.

les chances sont que vous avez un type MIME obscur que CodeIgniter ne connaît pas. Mettre que le type MIME dans config / mimes.php et il devrait fonctionner correctement.

quand vous le faites fonctionner et acceptez cette réponse s'il vous plaît commenter avec le type MIME que vous avez utilisé et je vais l'ajouter à CodeIgniter réacteur pour s'assurer que personne d'autre ne se bloque.

3
répondu Phil Sturgeon 2011-02-26 19:11:22

Pouvez-vous essayer ceci:

application/font-sfnt

comme je peux le voir dans iana, l'en-tête correct est ceci pour TTF: http://www.iana.org/assignments/media-types/application/font-sfnt

3
répondu Vasilis Vasilatos 2016-07-12 08:36:50

Je n'ai pas d'expérience avec codeigniter, mais j'ai tendance à croire que le mimetype correct est:

application/x-font-ttf

Je ne suis pas sûr que cela résolve votre problème

2
répondu rene 2011-02-26 16:24:24