美文网首页
打包为压缩包同时下载

打包为压缩包同时下载

作者: guoss | 来源:发表于2019-10-10 21:06 被阅读0次
import JSZip from '../js/lib/jszip.min'
import axios from '../js/lib/axios.min'
import {saveAs} from '../js/lib/FileSaver'
{
    let that = this
    const fileData = [];
    const zip = new JSZip();
    const cache = {};
    const promises = [];
    if(that.transferList.length === 0) {
      that.$message({
        type: 'warning',
        message: '请选择'
      })
      return
    }
    <!--当前需要处理的文件-->
    this.fileList.forEach(item => {
      if(item.picafter !== '') {
        fileData.push(item)
      }
    })
    const getFile = url => {
      return new Promise((resolve, reject) => {
        axios({
          method: 'get',
          url: url,
          responseType: 'arraybuffer'
        }).then(data => {
          /*返回二进制流文件*/
          resolve(data.data)
        }).catch(error => {
          reject(error.toString())
        })
      })
    };
    fileData.forEach((item, i) => {
      const promise = getFile(item.picafter).then((data) => { // 下载文件, 并存成ArrayBuffer对象
        let file_name = (item.name ? item.name : i) + '.' + item.type; // 获取文件名
        zip.file(file_name, data, {binary: true}); // 逐个添加文件
        cache[file_name] = data
      });
      promises.push(promise);
    });
    Promise.all(promises).then(() => {
      console.log(promises)
      zip.generateAsync({
        type: "blob"
      }).then(content => {
        console.log(content)
        that.$message({
          message: `下载成功`,
          type: "success"
        });
        // 生成二进制流
        saveAs(content, "风格迁移文件.zip"); // 利用file-saver保存文件
      });
    });
}

相关文章

  • 打包为压缩包同时下载

  • 第一次下载

    此压缩包为全店图片包打包.

  • 二. 打包测试

    一. 打包测试简介 何谓打包测试所谓打包测试, 就是将正在开发的App, 打包为.ipa压缩包, 指定的设备安装这...

  • Kali 定位系统安装及使用教程。

    Kali定位系统下载:点我下载 下载及安装前,请务必关闭所有杀毒软件! 下载文件为压缩包,下载后请一定解压压缩包,...

  • springboot使用Nacos

    官方地址 nacos快速开始 首先下载运行nacos服务器。通过git下载,并启动。 打开解压缩包,mvn打包之后...

  • Javajar命令常见用法

    Java jar命令 常见用法 一、jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包...

  • Android网络数据传输中的GZIP压缩

    英文单词Zip,具有多重指向,最常见的是作为文件名的后缀,表示这是一个压缩包,压缩包的好处是体积小,同时可以打包多...

  • window安装apache

    1、首先去官网下载压缩包 下载地址为:https://www.apachehaus.com/cgi-bin/dow...

  • 第六讲:Win7平台安装MySQL

    一、Win7平台下载MySQL MySQL同时提供安装包和压缩包的下载,可以根据自己的需要选择。 (一)下载安装包...

  • Anaconda 安装第三方库Jieba

    1、从官网下载Jieba压缩包,下载地址:jieba · PyPI; 2、把下载好的压缩包解压到 Anaconda...

网友评论

      本文标题:打包为压缩包同时下载

      本文链接:https://www.haomeiwen.com/subject/pbxzpctx.html