#express #xlsx #sendfile
#экспресс #xlsx #отправить файл
Вопрос:
Я разместил слишком много вопросов по этому поводу, но я продолжаю упираться в стену, поэтому продолжаю спрашивать. Можете ли вы отправить файл XLS или XLSX с помощью Express’ res.sendFile()
?
Вот код, который я использую:
res.sendFile(
path.join(__dirname, '../testing/'),
`${fileName}`,
(err, data) => {
if (err) throw err;
}
);
Даже при том, что fileName
имеет значение filename.xlsx
, он никогда не использует файл XLSX; он всегда имеет значение по умолчанию index.html
. Я всегда получаю следующую ошибку:
[Error: ENOENT: no such file or directory, stat '/Users/username/Documents/app/testing/index.html']
Ответ №1:
sendFile
никто не знает и не заботится о том, что вы пытаетесь отправить файл XLS / XLSX. Он знает только, что вы пытаетесь отправить файл.
Итак, да, вы можете, но вы должны вызвать sendFile
правильно. 😜
Вы указали имя файла в качестве отдельного аргумента (который будет проанализирован как options
аргумент), вместо того, чтобы помещать его в path
аргумент.
res.sendFile(
path.join(__dirname, '..', 'testing', fileName),
(err, data) => {
if (err) throw err;
}
);
Обратите внимание, что я взял на себя смелость удалить явно избыточный литерал шаблона выражения. Я также разделил '../testing/'
для вас: вы должны поместить отдельные компоненты в path.join
как можно больше, для наглядности.