Maison > développement back-end > C++ > Comment retourner des fichiers pour la visualisation ou le téléchargement dans ASP.NET MVC?

Comment retourner des fichiers pour la visualisation ou le téléchargement dans ASP.NET MVC?

Linda Hamilton
Libérer: 2025-01-31 14:11:10
original
807 Les gens l'ont consulté

How to Return Files for Viewing or Downloading in ASP.NET MVC?

Renvoie des fichiers dans ASP.NET MVC pour afficher ou télécharger

Dans ASP.NET MVC, les fichiers renvoyés stockés dans la base de données aux utilisateurs peuvent relever des défis. L'objectif est de fournir deux options: le mimetype déterminé par le navigateur est affiché par le navigateur pour afficher les fichiers et les fichiers de téléchargement forcés par le navigateur, quel que soit le type de fichier.

Options de traitement de fichiers

La classe FileStreamResult est généralement utilisée pour envoyer des fichiers. Cependant, il ne peut pas spécifier le nom de fichier par défaut, ce qui conduira à des comportements inattendus lorsqu'il s'agit de l'expansion du fichier inconnu. Les noms de fichiers spécifiés forcés peuvent rendre le navigateur incapable d'ouvrir directement le fichier.

Afin de résoudre ce problème, nous pouvons utiliser la classe ContentDisposition et définir la propriété de nom de fichier sur le nom réel du document. De plus, définissez la propriété en ligne sur FALSE pour inviter le navigateur à télécharger le fichier au lieu d'essayer de l'ouvrir.

Exemple de code

Ce qui suit est un exemple d'implémentation dans ASP.NET Core (Framework complet).

En utilisant la classe ContentDispositionHeadValue, nous pouvons nous assurer que les caractères internationaux du nom de fichier sont correctement gérés. Cette méthode permet de visualiser et de télécharger des fichiers et détermine le comportement requis en fonction de la première du navigateur.
<code class="language-csharp">public ActionResult Download()
{
    Document document = ...; // 获取文件数据
    var cd = new ContentDispositionHeaderValue("attachment")
    {
        FileNameStar = document.FileName // 使用 FileNameStar 属性处理文件名中的特殊字符
    };
    Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString());

    return File(document.Data, document.ContentType); // 返回文件数据和内容类型
}</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal