Javascript 代码可以很好地下载图片,但不能下载 PDF 文件

Javascript code works fine to download images but not to download a PDF file

以下代码可以正常下载远程图像,但在更改它以下载远程 PDF 文件时无法正常工作,这是我正在使用的代码:

<a href="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" data-remote>Remote PDF</a>

 <script defer type="text/javascript">
    const a = document.querySelector('a[data-remote]')
    a.addEventListener('click', async (e) => {
      e.preventDefault()
      const file = await fetch(e.target.href);
      const blob = await file.blob();
      const blobUrl = URL.createObjectURL(blob);
      const downloadLink = document.createElement("a");
      downloadLink.href = blobUrl;
      downloadLink.download = 'file.pdf';

      downloadLink.click();
    })
  </script>

您可以将 download 属性 添加到 a 标签并删除脚本以下载 pdf。

<a href="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" download >Remote PDF</a>

或者如果你想用js下载,可以考虑在fetch的时候加上mode:'no-cors'