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"));
        }
Пример #3
0
 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());
     }
 }
Пример #4
0
 /// <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);
     }
 }
Пример #5
0
        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();
        }