将 base64 数据字符串转换为 PDF 文件以从 API - NodeJS 下载
Convert base64 string of data into PDF file for download from API - NodeJS
我配置了一个 nodeJS API,它连接到另一个 API 并检索一个数据对象,它是一个 Base64 字符串。
调用API端点的客户端需要下载由base64数据制作的PDF文件。
如何将数据返回给客户端,以便converted/prompt从浏览器下载?这应该在客户端还是服务器端完成?
Base64 是 HTML 安全的,并且在您想要将数据 URL 创建为 link 时具有实用性。这将允许预加载 PDF,以便用户在单击 link.
时立即获取文件
但是,你只是想直接下载,所以只需要在服务器端将其转换为二进制,以减少与base64相关的网络开销,并保持客户端尽可能轻(加载更少的数据,使用更少的资源) .
只需在响应中设置正确的 content-type(application/pdf
如果您希望使用浏览器的 PDF 插件打开 PDF,或者 application/octet-stream
如果您希望触发常规下载)然后用经典 <a href=...
创建一个 link 到它。您还可以执行以下操作之一:
- 在客户端将
download
属性设置为 link。
- 在服务器端设置
Content-Disposition: attachment
header。
我配置了一个 nodeJS API,它连接到另一个 API 并检索一个数据对象,它是一个 Base64 字符串。
调用API端点的客户端需要下载由base64数据制作的PDF文件。
如何将数据返回给客户端,以便converted/prompt从浏览器下载?这应该在客户端还是服务器端完成?
Base64 是 HTML 安全的,并且在您想要将数据 URL 创建为 link 时具有实用性。这将允许预加载 PDF,以便用户在单击 link.
时立即获取文件但是,你只是想直接下载,所以只需要在服务器端将其转换为二进制,以减少与base64相关的网络开销,并保持客户端尽可能轻(加载更少的数据,使用更少的资源) .
只需在响应中设置正确的 content-type(application/pdf
如果您希望使用浏览器的 PDF 插件打开 PDF,或者 application/octet-stream
如果您希望触发常规下载)然后用经典 <a href=...
创建一个 link 到它。您还可以执行以下操作之一:
- 在客户端将
download
属性设置为 link。 - 在服务器端设置
Content-Disposition: attachment
header。