从客户端下载文件而不弹出-JavaScript

问题描述 投票:0回答:1

我尝试了多种不同的方法来在客户端上下载文件,但是我设法合理地正常工作的唯一方法是使用window.open,这有时会导致弹出窗口阻止程序问题。当我尝试创建并触发“ a”标签下载时,它只会从文件数组中下载第一个文件。

这是我的代码(不是很漂亮)...:

filterAndDownload = (state) => {
    const arr = state.itemsForDownload;
    const data = state.data;
    let downloads = [];

    // filter items and add to downloads list
    for(let i = 0; i < arr.length; i++){
      for(let j = 0; j < data.length; j++){
          if(data[j].sku === arr[i]){ downloads.push(data[j]) }
      }
    }

    // download each item in download list
    downloads.forEach(item => {
      window.open(item.full_source);
    });
  }
javascript arrays download client
1个回答
0
投票

您可以使用iframe代替弹出窗口:

let downloads = ['http://...', 'http://...'];

downloads.forEach(src => {
    var iframe = document.createElement("iframe");
    iframe.setAttribute("src", src);
    document.body.appendChild(iframe);
});
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.