2009-06-02 15 views
2

J'essaie de savoir si "Content-Disposition: pièce jointe; filename = nom_fichier" est requis ou non lorsque le fichier est envoyé en pièce jointe, et je suis intéressé à le conserver par le nom d'origine sur un stockage (lecteur). Il semble que ce soit le seul moyen de récupérer le nom du fichier d'origine, mais RFC est tellement boueux (link to RFC). Il utilise des mots tels que «devrait» et non «doit». WIKI (link to WIKI) le dit mieux, mais ce n'est pas RFC que je peux apporter au client. Des idées?En-tête MIME - Disposition du contenu

+1

Quelle est la question spécifique que vous aimeriez poser? Je suis d'accord que le RFC est boueux. Ne comprenez-vous pas la terminologie DEVRAIT et DOIT dans les RFC? Il y a un RFC pour cela (http://www.faqs.org/rfcs/rfc2119.html)! – thomasrutter

+0

Il existe un RFC pour lire les RFC. Aimer! –

Répondre

2

L'en-tête est facultatif, bien sûr, mais y compris c'est une bonne idée si vous avez une préférence pour

  • si le fichier doit être montré en ligne ou enregistré en tant que pièce jointe ou
  • ce le nom de fichier suggéré doit être s'il est enregistré en tant que pièce jointe

Le navigateur ou l'user-agent n'est pas lié par cet en-tête, mais le traite comme une suggestion. Le comportement réel du navigateur peut être complexe, mais généralement, en l'absence de cet en-tête, un navigateur décidera d'un plan d'action approprié basé principalement sur son type Mime, et s'il s'agit d'un type Mime non reconnu, il choisira généralement une pièce-jointe.

Utilisation de l'en-tête Content-Disposition vous donne le contrôle dans les cas suivants

  • Vous envoyez quelque chose qui a un type Mime que le navigateur du destinataire peut afficher en ligne, mais vous le préférez pas, et offrez-le en téléchargement à la place.
  • Vous envoyez quelque chose qui peut être sauvegardé sur le disque par le destinataire, et vous souhaitez spécifier à quoi le nom de fichier doit par défaut lorsqu'il est sauvegardé. Sans cette information, le navigateur créera généralement un nom de fichier basé sur l'URL, ce qui peut ne pas être judicieux (par exemple, si vous utilisez tout ce qui provient d'un script, vous ne voulez pas que ce soit le nom du script).
Questions connexes