public ActionResult PostHuffmanImportar() { var nombreRuta = "TusArchivos"; if (!Directory.Exists(nombreRuta)) { Directory.CreateDirectory(nombreRuta); } string[] ruta = Directory.GetFiles(nombreRuta, "*.huff"); if (ruta.Length == 0) { return(BadRequest(new string[] { "Por favor guarde el archivo en: " + nombreRuta })); } foreach (var archivo in ruta) { CompressHuffman HuffmanCompress = new CompressHuffman(); using (FileStream thisFile = new FileStream(archivo, FileMode.OpenOrCreate)) { if (thisFile.Length == 0) { return(BadRequest(new string[] { "Archivo no contiene elementos" })); } var file = archivo.Replace(".huff", string.Empty); file = file.Replace("TusArchivos\\", string.Empty); Data.Instance.adress = $"Database\\{file}.txt"; thisFile.Close(); HuffmanCompress.DescompresionHuffman(thisFile); } } return(Ok(new string[] { "Datos guardados" })); }
public async Task <IActionResult> ExportarHuff(string nombreArchivo) { if (nombreArchivo == "TreeStoreProduct" || nombreArchivo == "TreeProduct" || nombreArchivo == "TreeStore") { if (Directory.Exists("Database")) { using (FileStream thisFile = new FileStream($"Database\\{nombreArchivo}.txt", FileMode.OpenOrCreate)) { CompressHuffman HuffmanCompress = new CompressHuffman(); HuffmanCompress.CompresionHuffman(thisFile); } } else { return(NotFound(new string[] { nombreArchivo + " no se encuentra en la base de datos" })); } } else { return(BadRequest(new string[] { "Porfavor seleccione: TreeStoreProduct, TreeProduct, TreeStore" })); } //Descarga var ruta = $"TusArchivos/{nombreArchivo}" + ".huff"; return(File(await System.IO.File.ReadAllBytesAsync(ruta), "application/octet-stream", nombreArchivo + ".huff")); }
public ActionResult Post([FromForm(Name = "file")] IFormFile File) { try { var extensionTipo = Path.GetExtension(File.FileName); CompressHuffman HuffmanCompress = new CompressHuffman(); if (extensionTipo == ".txt") { using (FileStream thisFile = new FileStream("TusArchivos/" + File.FileName, FileMode.OpenOrCreate)) { HuffmanCompress.CompresionHuffmanImportar(thisFile); } } else if (extensionTipo == ".huff") { using (FileStream thisFile = new FileStream("TusArchivos/" + File.FileName, FileMode.OpenOrCreate)) { HuffmanCompress.CompresionHuffmanExportar(thisFile); } } else { return(NotFound()); } return(Ok()); } catch (System.NullReferenceException)//No se envia nada { return(NotFound()); } }
/// <summary> /// Huffman decompress files /// </summary> /// <param name="new_Path"></param> public void Decompress_Huffman(string new_Path) { using (var new_File = new FileStream(new_Path, FileMode.Open)) { CompressHuffman Huffman = new CompressHuffman(); Huffman.Decompress_File(new_File); } }
static async System.Threading.Tasks.Task Main(string[] args) { Console.WriteLine("Ingrese el texto a comprimir"); string Cadena = Console.ReadLine(); var CompressHuffman = new CompressHuffman(); Console.WriteLine("Cadena: " + Cadena); Console.WriteLine("Compresa Huffman: " + CompressHuffman.CompressionHuffman(Cadena)); Console.ReadKey(); }