rationaliser les téléchargements et les vues des fichiers dans ASP.net MVC
Gestion des téléchargements de fichiers et des aperçus dans les applications ASP.NET MVC peut présenter des complexités. Cet article explore des stratégies efficaces pour le retour des fichiers stockés dans une base de données, offrant une solution robuste pour surmonter les obstacles courants.
L'approche FileStreamResult
, bien que fonctionnelle pour de nombreux types de fichiers, ne fait pas face à des extensions inconnues ou à nécessiter des téléchargements forcés. L'utilisation de FileDownloadName
force un téléchargement, en contournant la manipulation automatique du navigateur.
Une solution supérieure utilise la classe ContentDispositionHeaderValue
(dans les versions MVC ASP.NET modernes) pour contrôler précisément le comportement des fichiers. Cela permet aux développeurs de spécifier si un fichier doit être affiché en ligne ou téléchargé directement.
Voici un exemple en utilisant ASP.NET Core:
<code class="language-csharp">public IActionResult Download() { Document document = ... // Retrieve document from database var cd = new ContentDispositionHeaderValue("attachment") { FileNameStar = document.FileName }; Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString()); return File(document.Data, document.ContentType); }</code>
En manipulant FileNameStar
et des propriétés associées, vous obtenez un contrôle à grain fin sur les invites de visualisation en ligne par rapport aux invites de téléchargement. Cette méthode gère également gracieusement les noms de fichiers contenant des caractères internationaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!