Créer un fichier à ouvrir dans le navigateur au lieu de la télécharger

J'ai un projet MVC qui permettra d'afficher des documents pour les utilisateurs. Les fichiers sont stockés actuellement dans Azure blob storage.

Actuellement, les documents sont extraits de la suite de contrôleur de l'action:

[GET("{zipCode}/{loanNumber}/{classification}/{fileName}")]
public ActionResult GetDocument(string zipCode, string loanNumber, string classification, string fileName)
{
    //get byte array from blob storage
    byte[] doc = _docService.GetDocument(zipCode, loanNumber, classification, fileName);
    string mimeType = "application/octet-stream";
    return File(doc, mimeType, fileName);
}

Droit maintenant, quand un utilisateur clique sur un lien comme suit:

<a target="_blank" href="http://...controller//GetDocument?zipCode=84016&loanNumber=12345678classification=document&fileName=importantfile.pdf

Ensuite, le fichier se télécharge sur leur navigateur dossier téléchargements. Ce que je voudrais arriver (et je pensais comportement par défaut) pour le fichier de simplement être affiché dans le navigateur.

J'ai essayé de changer le type mime et de changer le type de retour de FileResult au lieu de ActionResult, à la fois en vain.

Comment puis-je faire de l'affichage des fichiers dans le navigateur au lieu de les télécharger?

  • Assez sûr que le navigateur décide de la façon de gérer le fichier basé sur le type mime. webmaster-toolkit.com/mime-types.shtml
  • C'est ce que je pensai aussi, donc j'ai essayé plusieurs types mime associé .pdf et tenté d'ouvrir le fichier, mais il téléchargé à chaque fois. Quand j'ai vue les autres pdf sur d'autres sites ils ouvrent dans la fenêtre du navigateur.
  • Quelle est la valeur de l'en-tête content-disposition?
  • L'en-tête de Réponse: Content-Disposition:attachment; filename=importantfile.pdf
  • Yep. C'est votre problème.
InformationsquelleAutor Trevor | 2013-10-16