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);
}