public string Post(IFormFile file, string name) { LZW.Compresion(file, name); var NewFile = new FileInfo(Path.Combine(Environment.CurrentDirectory, "Compressions", $"{name}.lzw")); CompressionsCollections.EscrituraCompresiones( new CompressionsCollections { Nombre_Del_Archivo_Original = file.FileName, Nombre_Del_Archivo_Comprimido = $"{name}.lzw", Ruta_Del_Archivo_Comprimido = Path.Combine(Environment.CurrentDirectory, "Compressions", $"{name}.lzw"), Razon_De_Compresion = (double)NewFile.Length / (double)file.Length, Factor_De_Compresion = (double)file.Length / (double)NewFile.Length, Porcentaje = 100 - (((double)NewFile.Length / (double)file.Length) * 100) // correccion del anterior (lab03), se muestra el porcentaje de reduccion real }); return("Archivo Compreso en :" + NewFile.ToString()); }
public string Post(IFormFile file) { var HistorialCompresiones = CompressionsCollections.HistorialCompresiones(); var OriginalName = HistorialCompresiones.Find(c => Path.GetFileNameWithoutExtension(c.Nombre_Del_Archivo_Comprimido) == Path.GetFileNameWithoutExtension(file.FileName)); var path = LZW.Decompresion(file, OriginalName.Nombre_Del_Archivo_Original); var NewFile = new FileInfo(path); CompressionsCollections.EscrituraCompresiones( new CompressionsCollections { Nombre_Del_Archivo_Original = OriginalName.Nombre_Del_Archivo_Original, Nombre_Del_Archivo_Comprimido = file.FileName, Ruta_Del_Archivo_Comprimido = path, Razon_De_Compresion = 0, Factor_De_Compresion = 0, Porcentaje = 0 }); return("Archivo Decompreso en :" + NewFile.ToString()); }
public List <CompressionsCollections> Get() { var ListadoCompresiones = new List <CompressionsCollections>(); var PilaCompresiones = new Stack <CompressionsCollections>(); var Linea = string.Empty; using (var Lector = new StreamReader(Path.Combine(Environment.CurrentDirectory, "Compressions.txt"))) { while (!Lector.EndOfStream) { var TempCompressionCollections = new CompressionsCollections(); Linea = Lector.ReadLine(); TempCompressionCollections.Nombre_Del_Archivo_Original = Linea; Linea = Lector.ReadLine(); TempCompressionCollections.Nombre_Del_Archivo_Comprimido = Linea; Linea = Lector.ReadLine(); TempCompressionCollections.Ruta_Del_Archivo_Comprimido = Linea; Linea = Lector.ReadLine(); TempCompressionCollections.Razon_De_Compresion = Convert.ToDouble(Linea); Linea = Lector.ReadLine(); TempCompressionCollections.Factor_De_Compresion = Convert.ToDouble(Linea); Linea = Lector.ReadLine(); TempCompressionCollections.Porcentaje = Convert.ToDouble(Linea); PilaCompresiones.Push(TempCompressionCollections); } } while (PilaCompresiones.Count != 0) { ListadoCompresiones.Add(PilaCompresiones.Pop()); } return(ListadoCompresiones); }