,可以通过以下步骤实现:
以下是一个示例代码:
const http = require('http');
const fs = require('fs');
const server = http.createServer((req, res) => {
// 读取文件为字节数组
fs.readFile('path/to/file', (err, data) => {
if (err) {
res.statusCode = 500;
res.end('Error reading file');
} else {
// 设置响应头
res.setHeader('Content-Disposition', 'attachment; filename="filename.ext"');
res.setHeader('Content-Type', 'application/octet-stream');
res.setHeader('Content-Length', data.length);
// 发送字节数组作为响应
res.write(data);
res.end();
}
});
});
server.listen(3000, () => {
console.log('Server listening on port 3000');
});
在上述示例中,需要将path/to/file
替换为实际的文件路径。通过访问服务器的URL,即可下载该文件。
这种方式适用于小文件下载,对于大文件下载,可以考虑使用流式传输(streaming)来提高性能和效率。
领取专属 10元无门槛券
手把手带您无忧上云