public IActionResult Cipher([FromRoute] string method, [FromForm] IFormFile file, [FromForm] Key key) { try { if (key != null && file != null) { string RutaOriginal = Path.GetFullPath("Archivos Originales\\" + file.FileName); string RutaCifrado; FileStream ArchivoOriginal = new FileStream(RutaOriginal, FileMode.OpenOrCreate); file.CopyTo(ArchivoOriginal); ArchivoOriginal.Close(); if (method == "ruta") { RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".rt"); CifradoRuta.Encriptar(RutaOriginal, RutaCifrado, key.columns, key.rows); FileStream ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open); FileStreamResult FileFinal = new FileStreamResult(ArchivoFinal, "text/rt"); return(FileFinal); } else if (method == "zigzag") { RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".zz"); CifradoZigZag.Encriptar(RutaOriginal, RutaCifrado, key.levels); FileStream ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open); FileStreamResult FileFinal = new FileStreamResult(ArchivoFinal, "text/zz"); return(FileFinal); } else if (method == "cesar") { RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".csr"); CifradoCesar.Encriptar(RutaOriginal, RutaCifrado, key.word); FileStream ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open); FileStreamResult FileFinal = new FileStreamResult(ArchivoFinal, "text/csr"); return(FileFinal); } else { return(BadRequest()); } } else { return(BadRequest()); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }