Pas de.
Le type de contenu doit être tel qu'il est connu pour être, si vous le connaissez. application/octet-stream
est défini comme "des données binaires arbitraires" dans la RFC 2046, et il y a un certain chevauchement d'être approprié pour les entités dont le seul but est d'être enregistré sur le disque, et à partir de ce moment être en dehors de tout "webby". Ou regarder les choses d'une autre direction; la seule chose que l'on pouvez faire en toute sécurité avec l'application/octet-stream est de l'enregistrer dans un fichier et espérer que quelqu'un sait ce que c'est.
Vous pouvez combiner l'utilisation de Content-Disposition
avec d'autres types de contenu, tels que l' image/png
ou même text/html
pour indiquer que vous souhaitez sauver plutôt que de l'affichage. Il sert à être le cas que certains navigateurs ne l'ignorer dans le cas d' text/html
mais je crois que c'est à certains il y a longtemps à ce point (et je vais me coucher tôt, donc je ne vais pas commencer à tester tout un tas de navigateurs en ce moment; peut-être plus tard).
La RFC 2616 mentionne également la possibilité d'extension des jetons, et ces jours-ci la plupart des navigateurs reconnaissent inline
à dire que vous ne voulez l'entité affiche si possible (c'est, si c'est un type, le navigateur sait comment faire pour afficher, sinon il a pas le choix). Bien sûr, ceci est le comportement par défaut de toute façon, mais cela signifie que vous pouvez inclure l' filename
de la partie de l'en-tête, les navigateurs qui va utiliser (peut-être avec quelques ajustement du fichier de l'extension de match local du système de normes pour le content-type en question, peut-être pas) que la suggestion si l'utilisateur tente d'enregistrer.
Donc:
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
Signifie "je ne sais pas ce que l'enfer c'est. Veuillez l'enregistrer comme un fichier, de préférence nommé image.png".
Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
Signifie "C'est une image PNG. Veuillez l'enregistrer comme un fichier, de préférence nommé image.png".
Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
Signifie "C'est une image PNG. Merci de l'afficher à moins que vous ne savez pas comment faire pour afficher des images PNG. Sinon, ou si l'utilisateur choisit d'enregistrer, nous vous recommandons le nom de l'image.le format png pour le fichier que vous enregistrez en tant que".
De ces navigateurs qui reconnaissent inline
certains toujours l'utiliser, tandis que d'autres l'utilisent si l'utilisateur a sélectionné l'option "enregistrer le lien sous", mais pas si elles avaient choisis "enregistrer" lors de l'affichage (ou au moins IE utilisé pour être comme ça, elle peut avoir changé il y a quelques années).