Saltar al contenido

¿Cómo puedo leer un archivo que se cargará desde un formulario en .Net Core API?

Solución:

El archivo estará vinculado a su IFormFile param. Puede acceder a la transmisión a través de:

using (var stream = file.OpenReadStream())
{
    // do something with stream
}

Si desea leerlo como una cadena, necesitará una instancia de StreamReader:

string fileContents;
using (var stream = file.OpenReadStream())
using (var reader = new StreamReader(stream))
{
    fileContents = await reader.ReadToEndAsync();
}

En tu controlador:

  1. Comprobar si IFormFile file contiene algo
  2. Comprueba si la extensión del archivo es la que estás buscando (.dat)
  3. Compruebe si el tipo de Mime del archivo es correcto para evitar ataques

Luego, si está bien, llame a una clase de servicio para leer su archivo.

En su Servicio, puede hacer algo así:

var result = new StringBuilder();
using (var reader = new StreamReader(file.OpenReadStream()))
{
    while (reader.Peek() >= 0)
        result.AppendLine(await reader.ReadLineAsync()); 
}
return result.ToString();

Espero eso ayude.

¡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 *