public IActionResult Cifrar([FromRoute] string method, [FromForm] IFormFile file, [FromForm] Datos key) { using var fileRead = file.OpenReadStream(); try { if (method == "Cesar" && key.Word != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".csr", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string encoded = hola.encoder(key.Word); string salida = ""; salida = hola.CifrarCesar(prueba, encoded); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".csr"); return(new FileStreamResult(files, "application/csr") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".csr" }); } else if (method == "ZigZag" && key.Levels != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".zz", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string salida = ""; salida = hola.Cifrarzigzag(prueba, key.Levels); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".zz"); return(new FileStreamResult(files, "application/zz") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".zz" }); } else if (method == "Ruta" && key.Rows != null && key.Columns != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".rt", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string salida = ""; salida = hola.CifrarRuta(prueba, key.Rows, key.Columns); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".rt"); return(new FileStreamResult(files, "application/rt") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".rt" }); } else { return(BadRequest("Error no ingreso método o llave")); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }