如何在生产中使用 docx npm 包来保存文件

How to use docx npm package in production to save a file

我正在使用 node js 中的 docx-template npm 包生成一个 doc 文件。该文件已成功保存在我本地计算机上的 backend/controller 文件夹中。现在我想在 Heroku 上进行产品部署,但我不知道必须设置什么路径才能在生产环境中保存文件。

我用过'fs'模块读写文件。如下所示。

fs.writeFileSync(
    path.resolve(__dirname, `${contractName} ${element.frequency}.docx`),
    buffer
);

您可能必须使用 express 的“发送(缓冲区)”功能。

见下页:

https://expressjs.com/en/api.html#res.send

const contentTypes = {
    docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
    xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
};


res.set('Content-Type', contentTypes.docx);
res.send(buffer);

这是因为“fs”模块用于将数据写入磁盘,但如果是在生产中,很可能你想要的是让用户“下载”一个文件,这样就完成了使用 res.send() 以 Buffer 作为参数来实现此功能。