J'ai trouvé le code asp.net suivant très utile lors de la diffusion de fichiers à partir d'une base de données:
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Cela permet à l'utilisateur d'enregistrer le fichier sur son ordinateur, puis de décider comment l'utiliser, au lieu que le navigateur essaie d'utiliser le fichier.
Que peut-on faire d'autre avec l'en-tête de réponse content-disposition?
http
http-headers
httpwebresponse
httpresponse
content-disposition
Ronnie Overby
la source
la source
0
to0x1F
)Réponses:
Notez que la RFC 6266 remplace les RFC référencées ci-dessous. La section 7 décrit certaines des préoccupations liées à la sécurité.
L'autorité sur l'en-tête de disposition de contenu est RFC 1806 et RFC 2183. Les gens ont également conçu le piratage de disposition de contenu. Il est important de noter que l'en-tête content-disposition ne fait pas partie de la norme HTTP 1.1.
La norme HTTP 1.1 ( RFC 2616 ) mentionne également les effets secondaires possibles de la disposition du contenu sur la sécurité:
la source
Eh bien, il semble que l'en-tête Content-Disposition ait été créé à l'origine pour le courrier électronique, pas pour le Web. ( Lien vers la RFC pertinente .)
Je suppose que les navigateurs Web peuvent répondre à
lors de l'enregistrement, mais je ne suis pas sûr.
la source
Reportez-vous à la RFC 6266 (Utilisation du champ d'en-tête Content-Disposition dans le protocole HTTP (Hypertext Transfer Protocol)) http://tools.ietf.org/html/rfc6266
la source
Pour les utilisateurs asp.net, le framework .NET fournit une classe pour créer un en-tête de disposition de contenu: System.Net.Mime.ContentDisposition
Utilisation de base:
la source
filename
paramètre, au lieu d'utiliser lefilename*
paramètre avec le codage RFC 5987 . Aucun moyen de dériver ou d'utiliser des utilitaires fx pour résoudre ce problème, presque tout est non remplaçable ou interne ... .Net fx a encore un long chemin à apprendre sur l'ouverture et l'extensibilité. Dans MVC 5.2, laFileResult
classe fait un peu mieux pourfilename
, mais ne gère pas les autres paramètres car lainline
plupart de son implémentation est également interne ...Cet en-tête est défini dans la RFC 2183 , ce serait donc le meilleur endroit pour commencer la lecture.
Les valeurs autorisées sont celles enregistrées auprès de l 'Internet Assigned Numbers Authority (IANA); leur registre de valeurs doit être considéré comme la source définitive.
la source
Je pensais que cet article de la base de connaissances sur la section de support Microsoft est lié à la discussion ici Comment créer une boîte de dialogue de téléchargement de fichier pour un type mime connu
la source