我是expressjs的新手,我正在开发一个作为API应用程序的web应用程序。还有一个react前端应用程序。当客户端应用程序中的按钮被单击时,它将向后端应用程序发送API调用并下载文件。这个场景可以在fine.with下面的代码中运行。
const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
res.download(file); // Set disposition and send it.
});但是现在我需要通过点击按钮来下载多个文件。我怎么能做到这一点。有人能帮帮我吗。
发布于 2020-02-13 01:30:15
一个HTTP响应只能有一个文件。实际上,超文本传输协议中的“下载文件”意味着提供带有Content-Disposition: attachment头的响应,以提示客户端此响应应该保存到文件系统中,而不是在浏览器中呈现。
要下载多个文件,您希望客户端代码发起多个HTTP请求(可能指向不同的URL),并且服务器可以使用不同的文件响应每个请求。请注意,许多浏览器将拒绝下载多个文件以响应单个用户操作(担心向用户发送大量不需要的文件),或者至少会在这样做之前提示确认。
如果您不能更改客户端代码以发出多个请求,则需要将文件打包到单个文件归档中。
https://stackoverflow.com/questions/60193843
复制相似问题