下载使用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创建的文件的主要内容,如果未能解决你的问题,请参考以下文章

Express js:如何使用 POST 请求下载文件

页面下载文件方法,post与get

如何使用post请求下载文件

原生Javascript使用fetch发起请求_模拟get|post|文件流下载等

文件下载不适用于 $.get 或 $.post [重复]

[iOS开发]网络请求合集