下载使用GET使用POST创建的文件

问题描述 投票:0回答:1

我正在使用pdfkit在POST路由中创建pdf文件。之后,我希望能够使用浏览器访问我的GET路线并下载文件。就我使用静态文件名而言,一切工作正常:app创建一个pdf并将其保存到硬盘。当我使用浏览器访问路线时,它会自动下载文件。

问题是我想使用动态文件名。例如,当将有关汽车的数据写入pdf文件时,我在POST路由中使用了此代码:

const make = req.body.make;
const model = req.body.model;
const filename = make + model;
---
doc.pipe(fs.createWriteStream(`./public/${filename}.pdf`));

效果很好,该应用程序创建了一个包含make和model的文件名组合的pdf。

我的第一个问题是,如何在GET请求中访问该文件名?我尝试了不同的方法,但老实说,我不知道应该怎么做。是的,我知道我要两次将文件保存到硬盘上,首先是发布,然后是get。

我的目标是将其组合到前端,以便用户单击按钮即可下载pdf,这引出了我的第二个问题:我应该在POST请求中首先将文件保存到数据库中吗?为用户提供更好的服务?

javascript node.js post get pdfkit
1个回答
0
投票

对应于“问题是我要使用动态文件名。”使用“ let”代替“ const”。

对于“我应该将文件保存到数据库中的问题,不要将文件存储在数据库中。相反,应将文件名和文件路径存储在数据库中。

使用文件名作为参数的“ GET”方法调用API。在API中,您可以创建函数来获取文件的完整文件路径。我认为之后您就可以下载了。

© www.soinside.com 2019 - 2024. All rights reserved.