javascript - 多个PDF下载

标签 javascript

我有一个本地数据库表,其中保存了大约 15000 个 PDF 链接。我想一键下载所有 PDF,但我的问题是它打开的 PDF 无法下载。我正在尝试这个方法。

items = Array.from(document.getElementsByTagName("a"));
items.forEach(function(item) {
    link = item.href;
    if (link.substr(link.length - 4) == ".pdf") {
        filename = link.replace(/^.*[\\\/]/, '');
        item.download = filename;
        item.click();
    }
});

最佳答案

您无法仅使用 1 次点击来下载所有文件。您可以在 PHP 中使用 ZIP Archive Class 来代替。

将所有可用的 pdf 文件制作一个 zip 文件并下载。

$files = array('pdf1.pdf','pdf2.pdf');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);

  foreach ($files as $file) {
    $zip->addFile($file);
  }

  $zip->close();

和标题如

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

关于javascript - 多个PDF下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54898380/

相关文章:

javascript - Uglify 整个元素(.css,.js,.html 文件相对)

JavaScript 表单验证问题 - 必须单击提交两次

javascript - 在 DOM 中查找元素并替换

javascript - HTML5 显示具有特定内容的 localStorage 元素

javascript - 在javascript中混合两种颜色 "naturally"

javascript - 为什么这不可能 : let array[j] = array[j] + 1;

javascript - 当您不知道数组有多大时,如何获取 JSON 数组中的最后一个索引?

javascript - 制作asp :LinkButton behave like asp:button

javascript - 在javascript中的DataList中查找Div

javascript - 使用 useMediaQuery 进行 Chakra ui 单元测试