通过一系列文件URL循环,并通过React下载每个URL



我正在尝试做我'认为'的事情是一项简单的任务。我有一系列URL,当用户单击按钮时,我想循环并下载到客户端计算机。

现在,我有一个父组件,其中包含我想循环并下载的按钮和一个URL(状态(。由于某种原因,我现在这样做的方式仅下载一个文件之一,而不是数组的所有内容。

任何想法如何在React中正确执行此操作?

handleDownload(event){
        var downloadUrls = this.state.downloadUrls;
        downloadUrls.forEach(function (value) {
            console.log('yo '+value)
        const response = {
              file: value,
        };                
            window.location.href = response.file;
        })
    }

我将使用settimeout在下载每个文件之间等待一点。

handleDownload(event){
    var downloadUrls = this.state.downloadUrls.slice();
    downloadUrls.forEach(function (value, idx) {
        const response = {
          file: value,
        };
        setTimeout(() => {
            window.location.href = response.file;
        }, idx * 100)
    })
}

在Chrome中,这还将促使询问多个文件下载的权限。

最新更新