0
点赞
收藏
分享

微信扫一扫

前端实现一键打包下载PDF IMG同理

唯米天空 2022-02-28 阅读 53
前端

 

import *  as JSZip from 'jszip'

import * as FileSaver from 'file-saver'

//files 数组 [{name 文件名,url 下载路径}] filename 打包文件名

download = (files, filename) => {

    let zip = new JSZip();

    let folder = zip.folder('files');// 新建一个文件

    Promise.resolve().then(() => {

      return files.reduce((accumulator, file) => {

        return accumulator.then(() => fetch(file.url)

          .then(resp => resp.blob())

        .then(blob => folder.file(`${file.name}.pdf`, new Blob([blob], { type: 'application/pdf' }))))

        //`${file.name}.pdf` 给文件设置名字 后面则是文件 img 则改为对应的文件格式

      }, Promise.resolve())

    }).then(() => {

      folder.generateAsync({ type: "blob" }).then(content => FileSaver.saveAs(content, filename));

    })

  }

举报

相关推荐

0 条评论