下载pdf而无需在浏览器中打开

人气:370 发布:2022-10-16 标签: html javascript pdf render reactjs

问题描述

我想不看而直接下载pdf文件,我已经尝试了以下内容,但到目前为止都没有帮助。

1- window.open("https://s3-link1.pdf", 'Download');

2- <a href="https://s3-link1.pdf" download>Link</a>

链接-https://s3-link1.pdf

假设我的域是https://www.somedomain.com

我在某处看到我们无法下载跨域文件。Content-Disposal头部需要从后台传递。我对此感到困惑。另一个跨域的CSV文件正在轻松下载。

https://s3-link2.csv

我只需要使用Java脚本下载pdf文件。请给我引路。

推荐答案

尝试使用FETCH。

fetch("https://s3-link1.pdf", {
    method: 'GET'
}).then(resp => resp.blob())
    .then(blob => {
        const url = window.URL.createObjectURL(blob);
        const a = document.createElement('a');
        a.style.display = 'none';
        a.href = url;
        a.download = "name"; // the filename you want
        document.body.appendChild(a);
        a.click();
        window.URL.revokeObjectURL(url);
    })

894