背景

今天项目加了个新需求,要点击一个按钮下载所有模板文件。
所有模板文件都是用文件路径直接下载,原来用创建a标签打开新页面的方式实现单个文件下载,现在要多个文件一起下载,这种方法就行不通了。

a标签下载方法

  1. downloadTemplate(key) {
  2. // key是文件名称
  3. const form = document.getElementById('download-form');
  4. form.action = window.TEMPLATE_MAP[key]; // 打开 【项目地址 + 文件名】的路径
  5. form.target = '_blank';
  6. form.submit();
  7. },

a标签方法实现单个文件下载好使。

iframe下载方法

  1. downloadTemplate(key) {
  2. const elemIF = document.createElement('iframe');
  3. elemIF.src = window.NODE_CONFIG[key];
  4. elemIF.style.display = 'none'; // 隐藏
  5. document.body.appendChild(elemIF);
  6. },

iframe可实现单个文件和多个文件下载,并且无需打开新页面,只会有一次系统提示
微信截图_20210223105621.png