コード例 #1
0
ファイル: LZWController.cs プロジェクト: Mario991012/LAB1
        public ActionResult CargaParaComprimirL(HttpPostedFileBase file)
        {
            var nombreDocumento = file.FileName;
            var NombreArray     = nombreDocumento.Split('.');
            var OriginalPeso    = Convert.ToDouble(file.ContentLength);

            try
            {
                if (file != null && file.ContentLength > 0)
                {
                    var model = string.Empty;
                    model = Server.MapPath($"~/Archivos Originales/{NombreArray[0]}.{NombreArray[1]}");
                    var UbicacionAAlmacenarLZW = Server.MapPath("~//Archivos Comprimidos");
                    file.SaveAs(model);
                    if (LogicaLZW.Comprimir(model, NombreArray, UbicacionAAlmacenarLZW) == 1)
                    {
                        var RutaArchivoCompreso = Server.MapPath($"~/Archivos Comprimidos/{NombreArray[0]}.lzw");

                        var ArchivoCompreso = new FileInfo(RutaArchivoCompreso);
                        var PesoCompreso    = Convert.ToDouble(ArchivoCompreso.Length);

                        var Archivo = new Archivos();
                        Archivo.NombreArchivo = nombreDocumento;
                        Archivo.Factor        = Math.Round(OriginalPeso / PesoCompreso, 3);
                        Archivo.Razon         = Math.Round(PesoCompreso / OriginalPeso, 3);
                        Archivo.Porcentaje    = Math.Round(100.00 * (1 - Convert.ToDouble(Archivo.Razon)), 3);

                        Huffman.Instancia.DatosDeArchivos.Add(Archivo.NombreArchivo, Archivo);

                        ViewBag.Msg             = "Carga del archivo correcta";
                        ViewBag.Mensaje         = "Carga del archivo correcta";
                        ViewBag.MensajeDescarga = "Archivo comprimido descargable en apartado de descargas.";
                        return(RedirectToAction("ListaArchivos", "Home"));
                    }
                    else
                    {
                        ViewBag.Msg = "Carga del archivo incorrecta";
                        return(View());
                    }
                }
                else
                {
                    ViewBag.Msg = "ERROR AL CARGAR EL ARCHIVO, INTENTE DE NUEVO";
                    return(View());
                }
            }
            catch
            {
                ViewBag.Msg = "ERROR AL CARGAR EL ARCHIVO, INTENTE DE NUEVO";
                return(View());
            }
        }
コード例 #2
0
ファイル: LZWController.cs プロジェクト: Mario991012/LAB1
        public ActionResult CargaParaDescomprimirL(HttpPostedFileBase file)
        {
            var nombreArchivo = file.FileName;
            var nombre        = nombreArchivo.Split('.');

            //try
            //{
            if (file != null && file.ContentLength > 0)
            {
                var model = Server.MapPath($"~/Archivos Comprimidos/{nombreArchivo}");

                var UbicacionDescomprimidos = Server.MapPath("~//Archivos Descomprimidos");
                file.SaveAs(model);

                if (LogicaLZW.Descomprimir(model, nombre, UbicacionDescomprimidos) == 1)
                {
                    ViewBag.Msg     = "Carga del archivo correcta";
                    ViewBag.Mensaje = "Carga del archivo correcta";
                    return(MostrarListaEscogida(2));
                }
                else
                {
                    ViewBag.Msg = "Carga del archivo incorrecta";
                    return(View());
                }
            }
            else
            {
                ViewBag.Msg = "ERROR AL CARGAR EL ARCHIVO, INTENTE DE NUEVO";
                return(View());
            }
            //}
            //catch
            //{
            //    ViewBag.Msg = "ERROR AL CARGAR EL ARCHIVO, INTENTE DE NUEVO";
            //    return View();
            //}
        }