Quelles sont les différences entre
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
et
Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
Je ne connais pas les différences, car lorsque j'utilise l'un ou l'autre, je reçois toujours une invite de fenêtre me demandant de télécharger le fichier pour les deux. J'ai lu les spécifications, mais ce n'est pas du tout.
asp.net
http-headers
Cleiton
la source
la source
Réponses:
Ce comportement dépend du navigateur et du fichier que vous essayez de diffuser. Avec inline, le navigateur essaiera d'ouvrir le fichier dans le navigateur.
Par exemple, si vous avez un fichier PDF et Firefox / Adobe Reader, une disposition en ligne ouvrira le PDF dans Firefox, tandis qu'une pièce jointe le forcera à télécharger.
Si vous diffusez un fichier .ZIP, les navigateurs ne pourront pas l'afficher en ligne, donc pour les dispositions en ligne et les pièces jointes, le fichier sera téléchargé.
la source
S'il est en ligne, le navigateur doit essayer de le rendre dans la fenêtre du navigateur. Si ce n'est pas le cas, il aura recours à un programme externe, invitant l'utilisateur.
Avec la pièce jointe, il ira immédiatement à l'utilisateur et n'essaiera pas de le charger dans le navigateur, que ce soit possible ou non.
la source
Il peut également être utile de mentionner qu'inline essaiera d'ouvrir les documents Office (xls, doc, etc.) directement à partir du serveur, ce qui pourrait conduire à une invite d'informations d'identification de l'utilisateur.
voir ce lien:
http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server
quelqu'un a essayé de fournir un rapport Excel de SSRS via ASP.Net -> l'utilisateur a toujours été invité à entrer les informations d'identification. Après avoir cliqué sur Annuler à l'invite, il serait ouvert de toute façon ...
Si la disposition de contenu est marquée comme pièce jointe, elle sera automatiquement enregistrée dans le dossier temporaire après avoir cliqué sur Ouvrir, puis ouverte dans Excel à partir de la copie locale.
la source