邮递员可以下载/显示pdf但浏览器不能

Postman can download / display pdf but browser cannot

我有一个端点可以解码 base64 pdf 字符串,从中创建一个缓冲区,然后将该缓冲区作为响应发回。我将 headers 设置为:

Content-Type: application/pdf
Content-Disposition: attachment; filename="<my_filename>.pdf"

当我从邮递员那里点击这个端点时,它正确地显示/下载了 pdf(取决于我是发送还是发送并下载)。但是,如果我从我的 React 应用程序访问此端点,它不会开始下载。我没有阻止弹出窗口,我正在从请求中接收缓冲区。

我试过不解码 base64 字符串并像这样发回响应:

res.status(200).send(`data:application/pdf;base64,${base64String}`);

但这对邮递员或浏览器都不起作用。

我不确定我在这里遗漏了什么。如果邮递员正确获取显示和下载 pdf 所需的信息,我无法想象我离让浏览器能够执行相同操作还有很远的距离。

这里 post 可以帮助您在有 base64 字符串时下载文件。