【问题标题】:How to download multiple files using ExpressJS one API call如何使用 ExpressJS 一个 API 调用下载多个文件
【发布时间】:2020-02-13 03:52:28
【问题描述】:

我对 expressjs 很陌生,我正在开发一个充当 API 应用程序的 Web 应用程序。还有一个反应前端应用程序。在客户端应用程序中单击按钮时,它将向后端应用程序发送 API 调用并下载文件。该方案运行良好。使用以下代码。

  const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
  res.download(file); // Set disposition and send it.
});

但现在我需要通过单击按钮下载多个文件。我怎样才能做到这一点 。 有人可以在这里帮助我吗?

【问题讨论】:

    标签: node.js reactjs api express download


    【解决方案1】:

    一个 HTTP 响应只能有一个文件。实际上,HTTP 中的“下载文件”意味着提供带有 Content-Disposition: attachment 标头的响应,以提示客户端此响应应保存到文件系统而不是在浏览器中呈现。

    要下载多个文件,您希望 客户端 代码发起多个 HTTP 请求(可能针对不同的 URL),并且服务器可以使用不同的文件响应每个请求。请注意,许多浏览器会拒绝下载多个文件以响应单个用户操作(因为担心用户会收到不需要的文件),或者至少会在这样做之前提示确认。

    如果您无法更改客户端代码以发出多个请求,则需要将文件打包到单个文件存档中。

    【讨论】:

    • 感谢您的评论,任何关于如何进行压缩和下载文件的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2019-02-03
    • 2013-09-29
    • 2014-04-20
    • 1970-01-01
    相关资源
    最近更新 更多