Saltar al contenido

ASP.Net MVC – Leer archivo de HttpPostedFileBase sin guardar

Solución:

Esto se puede hacer usando httpPostedFileBase clase devuelve el HttpInputStreamObject según se especifica aquí

Debe convertir la secuencia en una matriz de bytes y luego puede leer el contenido del archivo

Consulte el siguiente enlace

http://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream.aspx]

Espero que esto ayude

ACTUALIZAR :

El flujo que obtiene de su llamada HTTP es secuencial de solo lectura (no se puede buscar) y FileStream es de lectura / escritura que se puede buscar. Primero deberá leer todo el flujo de la llamada HTTP en una matriz de bytes y luego crear FileStream a partir de esa matriz.

Tomado de aqui

// Read bytes from http input stream
BinaryReader b = new BinaryReader(file.InputStream);
byte[] binData = b.ReadBytes(file.ContentLength);

string result = System.Text.Encoding.UTF8.GetString(binData);

Una alternativa es usar StreamReader.

public void FunctionName(HttpPostedFileBase file)
{
    string result = new StreamReader(file.InputStream).ReadToEnd();
}

Un ligero cambio en la respuesta de Thangamani Palanisamy, que permite eliminar al lector binario y corrige el problema de la longitud de entrada en sus comentarios.

string result = string.Empty;

using (BinaryReader b = new BinaryReader(file.InputStream))
{
  byte[] binData = b.ReadBytes(file.ContentLength);
  result = System.Text.Encoding.UTF8.GetString(binData);
}
¡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 *