【发布时间】:2021-10-20 08:33:22
【问题描述】:
我正在开发一个小型应用程序,它允许用户在前端选择一些文档,当他们点击“下载”时,会生成一个包含所有文档的 zip。
我为此使用了 client-zip。这一切都适用于 1 个文档(1 个获取),但有一个小问题,我无法弄清楚。如何根据数组中元素的数量添加动态提取?
到目前为止我的代码:
const allDownloads = [];
async function downloadTestZip() {
const code = await fetch(allDownloads[0]);
const blob = await downloadZip([code]).blob();
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = 'test.zip';
link.click();
link.remove();
}
当用户选中文档旁边的复选标记时,allDownloads=[] 被填充。所以最多可以有 200 个不同的文档。
【问题讨论】:
-
我知道我应该在快速入门中更清楚地说明,但不要忘记撤销 Blob URL(即您的函数可能应该以
URL.revokeObjectURL(link.href)结尾)。
标签: javascript zip