JSZip - quan1997ap/angular-app-note GitHub Wiki

https://stuk.github.io/jszip/

Tạo file với content và định dạng. Sau đó zip các file đang tạo thành 1 file mới. đuôi zip

import JSZip from "jszip";
import FileSaver from "file-saver";


  arrayFile: any[] = [
    {
      id: 1,
      name: "name1.txt",
      content: "name111111",
    },
    {
      id: 2,
      name: "name2.txt",
      content: "name1111114214214",
    },
    {
      id: 3,
      name: "name3.txt",
      content: "name111111213213",
    },
    {
      id: 4,
      name: "name4.txt",
      content: "3523111\r111",
    },
    {
      id: 5,
      name: "name5.txt",
      content: "name2\n3432111111",
    },
  ];



  zipFile(): void {
    const zip = new JSZip();
    zip.file("idlist.txt", "PMID:29651880\r\nPMID:29303721");
    let txtFile = zip.folder("txt");
    this.arrayFile.forEach((item) => {
      zip.file(item.name, item.content);
    });
    zip.generateAsync({ type: "blob" }).then(function (content) {
      FileSaver.saveAs(content, "download.zip");
    });
  }

Nén các file zip vào folder trước khi push

    const zip = new JSZip();
    zip.folder("txt").file("1.txt", "PMID:29651880\r\nPMID:29303721");
    zip.folder("txt").file("2.txt", "PMID:29651880\r\nPMID:29303721");
    zip.generateAsync({ type: "blob" }).then(function (content) {
      FileSaver.saveAs(content, "download.zip");
    });