Faire en sorte qu’un fichier s’ouvre dans le navigateur au lieu d’être téléchargé
Grâce à toutes les réponses, la solution était une combinaison de toutes.
Premièrement, comme j’utilisais un byte[], l’action du contrôleur devait être FileContentResult et non simplement FileResult. J’ai trouvé cela grâce à : Quelle est la différence entre les quatre résultats File dans ASP.NET MVC
Deuxièmement, le type MIME ne devait PAS être un octet-stream. Apparemment, l’utilisation du flux amène le navigateur à simplement télécharger le fichier. J’ai dû changer le type en application/pdf. Je devrai explorer une solution plus robuste pour gérer d’autres types de fichiers/MIME.
Troisièmement, j’ai dû ajouter un en-tête qui change le content-disposition en inline. En utilisant ce message, j’ai compris que je devais modifier mon code pour éviter les en-têtes en double, puisque le content-disposition était déjà défini sur attachment.
Le code fonctionnel :
public FileContentResult GetDocument(string zipCode, string loanNumber, string classification, string fileName)
{
byte[] doc = _docService.GetDocument(zipCode, loanNumber, classification, fileName);
string mimeType = "application/pdf"
Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
return File(doc, mimeType);
}