可以通过以下步骤实现:
$ mkdir myapp
$ cd myapp
$ npm init -y
$ npm install express --save
pdfs
的文件夹,用于存放PDF文件。app.js
的文件,并添加以下代码:const express = require('express');
const fs = require('fs');
const app = express();
app.get('/pdf', (req, res) => {
const filePath = './pdfs/sample.pdf';
const stat = fs.statSync(filePath);
res.setHeader('Content-Length', stat.size);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=sample.pdf');
const stream = fs.createReadStream(filePath);
stream.pipe(res);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
pdfs
文件夹中放置一个名为sample.pdf
的PDF文件。$ node app.js
http://localhost:3000/pdf
,将会下载sample.pdf
文件。这样,你就成功地使用express发送二进制PDF文件了。
关于以上代码的解释:
express
和fs
模块。/pdf
路由上,我们设置了响应头,指定了文件的大小、类型和下载方式。推荐的腾讯云相关产品:腾讯云对象存储(COS)。
腾讯云对象存储(COS)是一种安全、低成本、高可靠的云端存储服务,适用于存储大量非结构化数据,如图片、音视频、文档等。它提供了简单易用的API接口,方便开发者进行文件的上传、下载、管理和分享。使用腾讯云对象存储(COS),你可以将PDF文件存储在云端,并通过生成的URL链接进行访问和下载。
领取专属 10元无门槛券
手把手带您无忧上云