【发布时间】:2019-10-21 13:31:42
【问题描述】:
我有 pdf 文档存储在服务器端的文件系统中。
我需要让用户在点击下载时下载其中一个。
问题是我知道如何将文件从 NodeJS 发送到浏览器,但这里的请求将由 ReactJS axios 请求发出。所以当我发送一个文件时,响应会去响应。如何将该pdf文件发送给用户?我是否可以使用我的前端代码直接访问文件系统?
当我在 NodeJS 中执行 res.sendFile(file_path) 后记录响应时,我在浏览器控制台中得到以下信息
我该如何处理才能让用户下载 pdf?
【问题讨论】:
-
您是否在使用像 Nginx 这样的反向代理,因为它针对共享静态文件进行了高度优化?
-
不,我没有使用 Nginx。实际上我的问题是以某种方式允许用户下载 pdf 文件,但由于请求是由 react 提出的,我不能让他下载文件。
-
你的最终目标是什么?
-
一旦用户点击下载,他/她应该能够下载存储在我的文件系统中的特定文件(无论我使用什么方法)。如果我不涉及服务器端是否可以(我不确定这是否正确)?
-
必须有 sendFile 选项作为响应,或者您可以将数据发送回客户端并在客户端生成 pdf