zoukankan      html  css  js  c++  java
  • vue使jsZip和FileSaver.js打包下载

    安装

    npm install jszip
    npm install file-saver --save
    

    在组件中

    import JSZip from 'jszip'
    import FileSaver from "file-saver"
    //调用
    this.filesToRar(this.imgList,"学生涂鸦答题照片");
    /**文件打包
    *@param {object} arrImages 文件list:[ { url:文件url , title:文件名 } ]
    *@param {string} filename 压缩包的名字
    **/
    filesToRar(arrImages, filename) {
        let _this = this;
        let zip = new JSZip();
        let cache = {};
        let promises = [];
        let i = 0;
        arrImages.forEach((item)=>{
            var promise = _this.getImgArrayBuffer(item.url).then(data => {
                i++;
                let name = "(" + i + ")" + item.title + ".png";
                // 下载文件, 并存成ArrayBuffer对象(blob)
                zip.file(name, data, { binary: true }); // 逐个添加文件
                cache[name] = data;
            });
            promises.push(promise);
        })
        Promise.all(promises).then(() => {
            zip.generateAsync({ type: "blob" }).then(content => {
                // 生成二进制流
                FileSaver.saveAs(content, filename); // 利用file-saver保存文件  自定义文件名
            });
        })
        .catch(res=>{
            console.log("压缩失败")
        });
    }
    
    /**通过url获取文件blob
    *@param {string} url 图片http路径
    **/
    getImgArrayBuffer(url){
        return new Promise((resolve, reject) => {
            let xmlhttp = new XMLHttpRequest();
            xmlhttp.open("GET", url, true);
            xmlhttp.responseType = "blob";
            xmlhttp.onload = function () {
                if (this.status == 200) {
                    resolve(this.response);
                }else{
                    reject(this.status);
                }
            }
            xmlhttp.send();
        });
    }
  • 相关阅读:
    .net core 灵活读取配置文件
    SUSE12SP3-Mysql5.7安装
    SUSE12Sp3-MongoDB安装
    SUSE12Sp3-Supervisor 守护.net core进程
    SUSE12Sp3-Nginx安装
    SUSE12Sp3-.NET Core 2.2.1 runtime安装
    搭建consul 集群
    SUSE12Sp3安装配置.net core 生产环境(1)-IP,DNS,网关,SSH,GIT
    使用Consul 实现 MagicOnion(GRpc) 服务注册和发现
    使用MagicOnion实现gRPC
  • 原文地址:https://www.cnblogs.com/wlming/p/13969072.html
Copyright © 2011-2022 走看看