Saltar al contenido

¿Descargar archivos de cualquier tipo en Asp.Net MVC usando FileResult?

Ten en cuenta que en la informática cualquier problema suele tener varias soluciones, así que nosotros aquí te mostramos lo más óptimo y eficiente.

Solución:

Simplemente puede especificar el tipo MIME genérico de secuencia de octetos:

public FileResult Download()

    byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:foldermyfile.ext");
    string fileName = "myfile.ext";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);

El marco MVC admite esto de forma nativa. El controlador System.Web.MVC.Controller.File proporciona métodos para devolver un archivo por nombre/secuencia/array.

Por ejemplo, al usar una ruta virtual al archivo, podría hacer lo siguiente.

return File(virtualFilePath, System.Net.Mime.MediaTypeNames.Application.Octet,  Path.GetFileName(virtualFilePath));

Si está utilizando .NET Framework 4.5, utilice MimeMapping.GetMimeMapping(string FileName) para obtener el tipo MIME para su archivo. Así es como lo he usado en mi acción.

return File(Path.Combine(@"c:path", fileFromDB.FileNameOnDisk), MimeMapping.GetMimeMapping(fileFromDB.FileName), fileFromDB.FileName);

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *