How to pass a txt
file to a Stream parameter?
This is the ActionResult
that calls the method to read the file txt
:
[HttpPost]
public ActionResult Incluir(ContaReceberViewModel pContaReceber,
HttpPostedFileBase fileRetorno)
{
try
{
var fileName = Path.GetFileName(fileRetorno.FileName);
var _arquivo = Path
.Combine(Server.MapPath("~/Content/Uploads/Importacao"),
fileName);
ArquivoRetornoCNAB400 cnab400 = new ArquivoRetornoCNAB400();
//O erro ocorre aqui, quando tento passar o parâmetro:
cnab400.LerArquivoRetorno(bco, new FileStream(_arquivo, FileAccess.Write));
return View(new ContaReceber());
}
catch (Exception)
{
TempData["mensagemErro"] =
string.Format("Ocorreu um erro ao carregar
tela de importação de arquivos bancários.");
return View(new ContaReceber());
}
}
This is the method that will read the txt file:
public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
{
try
{
StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
string linha = "";
// Lendo o arquivo
linha = stream.ReadLine();
// Próxima linha (DETALHE)
linha = stream.ReadLine();
while (DetalheRetorno.PrimeiroCaracter(linha) == "1")
{
DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
ListaDetalhe.Add(detalhe);
OnLinhaLida(detalhe, linha);
linha = stream.ReadLine();
}
stream.Close();
}
catch (Exception ex)
{
throw new Exception("Erro ao ler arquivo.", ex);
}
}
Error:
The best overloaded method match for 'System.IO.FileStream.FileStream(string, System.IO.FileMode)' has some invalid arguments C:\PROJETOS\SistemaBeta.Web\Controllers\ImportaArquivoConciliacaoController.cs 168