将文件从REST API发送到前端可以通过以下步骤实现:
const express = require('express');
const fs = require('fs');
const app = express();
app.get('/file', (req, res) => {
// 读取文件
const file = fs.readFileSync('path/to/file');
// 设置响应头,指定文件类型和文件名
res.setHeader('Content-Type', 'application/octet-stream');
res.setHeader('Content-Disposition', 'attachment; filename="filename.ext"');
// 发送文件到前端
res.send(file);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
fetch('/file')
.then(response => response.blob())
.then(blob => {
// 创建一个URL对象,用于生成下载链接
const url = URL.createObjectURL(blob);
// 创建一个a标签,设置下载链接和文件名
const link = document.createElement('a');
link.href = url;
link.download = 'filename.ext';
// 模拟点击下载链接
link.click();
// 释放URL对象
URL.revokeObjectURL(url);
})
.catch(error => {
console.error('Error:', error);
});
通过以上步骤,文件将从后端的REST API端点发送到前端,并通过浏览器的下载功能提供给用户下载。在实际应用中,可以根据具体需求进行适当的调整和优化。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云