我的后端运行了Express js,并且在一个服务器文件夹中上传了一个excel文件(.xlsx)
,我正在尝试下载此文件。
这是执行此任务的节点中间件
records.get('/downloadSampleExcel', (req, res) => {
const sampleExcel = `${__dirname}/../../upload/sampleExcel/data.xlsx`
res.download(sampleExcel)
})
但是问题是当我使用ajax请求时,该文件未下载,而当我使用window.open(url)
时,则下载了一个zip文件,其中包含一些奇怪的文件而不是我的excel文件。
正确的操作步骤是什么?
答案 0 :(得分:1)
您使用的路径无效,请使用path.join()模块加入路径或绝对路径
records.get('/downloadSampleExcel', (req, res) => {
const path = require('path);
const sampleExcel = path.join(__dirname, '../../upload/sampleExcel/data.xlsx');
res.download(sampleExcel)
})
更新:
在res.download
res.setHeader('Content-disposition', 'attachment; filename=data.xlsx');
res.setHeader('Content-type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
res.download(sampleExcel)