我正在尝试做我“认为”会很简单的任务。我有一组 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 中,这也会提示请求多个文件下载的权限。
关于javascript - 遍历文件 url 数组并使用 React 下载每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748936/