首页 > 解决方案 > 将 base64 数据字符串转换为 PDF 文件以便从 API 下载 - NodeJS

问题描述

我配置了一个 nodeJS API,它连接到另一个 API 并检索一个数据对象,它是一个 Base64 字符串。

调用 API 端点的客户端需要下载由 base64 数据制作的 PDF 文件。

数据应该如何返回给客户端,以便可以从浏览器转换/提示下载?这应该在客户端还是服务器端完成?

标签: javascriptnode.jspdfbase64

解决方案


Base64 是 HTML 安全的,当您想要将数据 URL 创建为链接时,它具有实用性。这将允许预加载 PDF,以便用户在单击链接时立即获取文件。

但是,您只是想直接下载它,所以只需在服务器端将其转换为二进制,以减少与 base64 相关的网络开销,并保持客户端尽可能轻(加载更少的数据,使用更少的资源)。

只需在响应中设置正确的内容类型(application/pdf如果您希望使用浏览器的 PDF 插件打开 PDF,或者application/octet-stream如果您想触发定期下载)然后只需使用经典的<a href=.... 您还可以执行以下操作之一:


推荐阅读