我可以使用Express res.sendFile()发送XLS/XLSX文件吗



我发布了太多关于这方面的问题,但我一直碰壁,所以我一直在问。您可以使用Express'res.sendFile()发送XLS或XLSX文件吗?

这是我正在使用的代码:

res.sendFile(
path.join(__dirname, '../testing/'),
`${fileName}`,
(err, data) => {
if (err) throw err;
}
);

即使fileName的值为filename.xlsx,它也从不使用XLSX文件;它总是默认为CCD_ 4。我总是得到以下错误:

[Error: ENOENT: no such file or directory, stat '/Users/username/Documents/app/testing/index.html']

sendFile既不知道也不关心您正在尝试发送XLS/XLSX文件。它只知道您正在尝试发送文件。

所以,是的,你可以,但你必须正确地呼叫sendFile。😜

您已经将文件名作为一个单独的参数(将被解析为options参数(,而不是将其放在path参数中

res.sendFile(
path.join(__dirname, '..', 'testing', fileName),
(err, data) => {
if (err) throw err;
}
);

请注意,我随意删除了明显多余的表达模板文字内容。我还为您拆分了'../testing/':为了清晰起见,您应该尽可能多地将离散组件放入path.join中。

最新更新