web-dev-qa-db-fra.com

Quel type MIME utiliser pour un fichier binaire spécifique à mon programme?

Mon programme utilise son propre type de fichier binaire, donc je suppose que je ne peux pas utiliser le type MIME text/plain, car il ne s'agit pas d'un fichier ASCII 7 bits.

Devrais-je simplement l'appeler "application/myappname"?

209
Powerbook165c

Je recommande application/octet-stream comme RFC2046 indique "Le sous-type" flux d'octets "est utilisé pour indiquer qu'un corps contient des données binaires arbitraires" et "L'action recommandée pour une implémentation qui reçoit L'entité "application/octet-stream" consiste simplement à proposer de placer les données dans un fichier [...] ".

Je pense que de cette façon, vous obtiendrez une meilleure gestion de programmes arbitraires, ce qui risquerait de vous faire mal lorsque vous rencontrez votre type mime inconnu.

320
user786653

vous pourriez peut-être utiliser:

application/x-binary

8
serup

les en-têtes de type MIME sont reconnus par le navigateur dans le but d’identifier (rapidement) le gestionnaire qui utilisera le fichier téléchargé comme cible. Par exemple, PDF serait téléchargé et votre programme Adobe Reader exécuté avec le chemin du fichier PDF en tant qu'argument,

Si vos besoins sont d’écrire une extension de navigateur pour gérer votre fichier téléchargé, via votre système d’exploitation, ou si vous voulez simplement vous faire projeter un aspect plus "professionnel", choisissez un type de mimim unique à utiliser, cela rendra aucune différence, car le système d'exploitation n'aurait aucun moyen de l'ouvrir (certains navigateurs ont peu de plugins intégrés, par exemple les nouvelles versions de Google Chrome ont un lecteur PDF intégré),

si vous voulez vous assurer que le fichier sera téléchargé, jetez un oeil à cette réponse: https://stackoverflow.com/a/34758866/257319

si vous souhaitez que votre type de fichier soit spécialement organisé, il peut être utile d’ajouter quelques lettres dans les premiers octets du fichier. Par exemple, chaque fichier JPG a ceci au début de son fichier:

si vous pouvez vous permettre un saut de 4 ou 8 octets, cela pourrait vous être très utile dans le reste du chemin

:)

5
user257319

Selon la spécification RFC 2045 # Syntaxe du champ d'en-tête Content-Typeapplication/myappname n'est pas autorisé, mais application/x-myappname est autorisé et semble le plus approprié pour votre application. .

1
Nate