我正在将xlsx-populate模块与node.js一起使用。我将工作簿作为缓冲区发送,如其站点上所述。我正在使用邮递员访问API并获取xlsx文件作为附件。但是我得到的响应具有奇怪的字符,如下所示:
�2�N��N��+xl/drawings/drawing1.xml����0��>ٻ=C���@`ChB�M�
��M���8�̗�����ً��5��2��i
const workbook = await XlsxPopulate.fromFileAsync(filename);
// await workbook.toFileAsync(outfile);
const data = await workbook.outputAsync();
res.attachment("output.xlsx");
res.send(data);
当我使用await workbook.toFileAsync(outfile);
将文件保存在本地时,一切正常,我可以读取文件。
但是,当我尝试使用命令res.attachment("output.xlsx");
和res.send(data);
发送文件进行下载时,在对Postman的响应中出现了奇怪的字符。
响应头具有11个属性,其中包括:
content-disposition -> attachment; filename="output.xlsx"
content-type -> application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx-populate
的GitHub页面上也提到了使用express下载xlsx文件的类似步骤:
https://github.com/dtjohnson/xlsx-populate#serving-from-express