下载使用GET使用POST创建的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载使用GET使用POST创建的文件相关的知识,希望对你有一定的参考价值。
我正在使用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请求中首先将文件保存到数据库中吗?为用户提供更好的服务?
答案
对应于“问题是我要使用动态文件名。”使用“ let”代替“ const”。
对于“我应该将文件保存到数据库中的问题,不要将文件存储在数据库中。相反,应将文件名和文件路径存储在数据库中。
使用文件名作为参数的“ GET”方法调用API。在API中,您可以创建函数来获取文件的完整文件路径。我认为之后您就可以下载了。
以上是关于下载使用GET使用POST创建的文件的主要内容,如果未能解决你的问题,请参考以下文章