JavaScript - Descomprimir archivos .zip con vue.js y JavaScript

 
Vista:
sin imagen de perfil

Descomprimir archivos .zip con vue.js y JavaScript

Publicado por Alexis (1 intervención) el 28/12/2022 16:27:56
Del archivo .zip que se sube a la web, cómo podría hacer para que se descomprima internamente y me muestre los nombres de los archivos que descomprime.

Muchas Gracias :).. soy nuevo.

Por ejemplo que me quede algo así(son datos en duro de este ejemplo):

vue
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 40
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Descomprimir archivos .zip con vue.js y JavaScript

Publicado por Marlon (90 intervenciones) el 29/12/2022 03:38:18
Puedes hacer uso de la libreria jszip


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import JSZip from "jszip";
 
export default {
  methods: {
    async decompressZip() {
      // Carga el archivo ZIP utilizando un FileReader
      const zipFile = await this.readZipFile();
      // Crea una instancia de JSZip a partir del archivo ZIP
      const zip = new JSZip();
      // Descomprime el archivo ZIP
      const decompressedZip = await zip.loadAsync(zipFile);
      // Accede a los archivos del archivo ZIP descomprimido
      for (const fileName in decompressedZip.files) {
        const file = decompressedZip.files[fileName];
        console.log(fileName, file);
      }
    },
    async readZipFile() {
      // Obtiene el archivo ZIP seleccionado por el usuario
      const zipFile = document.querySelector("#zipFileInput").files[0];
      // Lee el archivo ZIP utilizando un FileReader
      const fileReader = new FileReader();
      fileReader.readAsArrayBuffer(zipFile);
      return new Promise((resolve, reject) => {
        fileReader.onload = () => {
          resolve(fileReader.result);
        };
        fileReader.onerror = reject;
      });
    },
  },
};

aqui los imprime en consola, pero ya tu los podrias mostrar en tus componentes. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar