Maison > développement back-end > C++ > Comment télécharger des fichiers de tout type dans ASP.NET MVC à l'aide de FileResult ?

Comment télécharger des fichiers de tout type dans ASP.NET MVC à l'aide de FileResult ?

Mary-Kate Olsen
Libérer: 2025-01-27 06:46:09
original
359 Les gens l'ont consulté

How to Download Files of Any Type in ASP.NET MVC Using FileResult?

Utilisation de FileResult d'ASP.NET MVC pour les téléchargements de fichiers universels

ASP.NET MVC FileResult offre une solution robuste pour gérer les téléchargements de fichiers. Cependant, les exemples standards se concentrent souvent sur des types de fichiers spécifiques, laissant sans réponse la question de savoir comment gérer les téléchargements de divers types de fichiers. Cet article répond à ce défi.

Le problème : téléchargement de fichiers de types inconnus

Le problème principal est le téléchargement de fichiers dont le type de fichier n'est pas prédéterminé. Les méthodes standard peuvent avoir des difficultés lorsqu'il s'agit de traiter une grande variété d'extensions de fichiers.

La solution : tirer parti de FileResult et du type MIME Octet-Stream

La clé pour gérer divers types de fichiers réside dans l'utilisation de la classe FileResult et la spécification du type MediaTypeNames.Application.Octet MIME. Ce type MIME générique indique un flux d'octets, adapté à tout type de fichier.

Voici comment mettre en œuvre cela :

<code class="language-csharp">public FileResult Download()
{
    byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\folder\myfile.ext");
    string fileName = "myfile.ext";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}</code>
Copier après la connexion

Cet extrait de code démontre :

  • fileBytes : Contient le contenu binaire du fichier, lu directement depuis le système de fichiers.
  • MediaTypeNames.Application.Octet : Spécifie le type MIME universel du flux d'octets.
  • fileName : Définit le nom de fichier souhaité pour le téléchargement.

Amélioration du chemin de fichier et de la gestion des noms

Pour éviter des problèmes potentiels liés à la concaténation des chemins et aux traits de soulignement, une approche plus robuste implique des paramètres distincts pour le chemin et le nom du fichier :

<code class="language-csharp">public FileResult Download(string filePath, string fileName)
{
    byte[] fileBytes = GetFile(filePath); // Helper function to read file bytes
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

private byte[] GetFile(string filePath)
{
    return System.IO.File.ReadAllBytes(filePath);
}</code>
Copier après la connexion

Cette méthode révisée améliore la sécurité et la lisibilité en séparant clairement le chemin et le nom du fichier. La fonction d'assistance GetFile améliore l'organisation du code. Cette approche offre un moyen plus flexible et sécurisé de gérer les téléchargements de fichiers dans les applications ASP.NET MVC.

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