如何在生产中使用 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 作为参数来实现此功能。
我正在使用 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 作为参数来实现此功能。