从服务器检查上传状态

时间:2020-10-28 16:29:04

标签: javascript node.js reactjs express

我正在创建一个React-Express应用程序,需要从客户端选择一个图像,将其发送到服务器,创建一个包含图像的PDF,然后将PDF上载到云服务。我已经完成了所有这些操作,但是我想知道是否可以从服务器向客户端发送上传状态,以便我可以显示一些警报:“我正在创建PDF”,然后“我正在上传您的PDF”。 PDF”,最后是“您的PDF已上传”。

现在,我只能在React上显示两个警报,即“我正在创建和上传您的PDF”,然后,当服务器发送响应时,我呈现“您的PDF已上传”,这是因为我在Express上只有一条路由来管理创建和上传,因此只有一条响应被发送到React。

我该怎么做?我正在考虑使用会话和多个延迟的请求来实现此目的:第一个将文件发送到服务器,然后是两批无限请求,第一个知道何时创建PDF(服务器将基于该时间知道)在会话参数上),第二个知道文件何时上传。这是正确的方法,还是有更简单的方法?

1 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 使用AJAX请求轮询服务器以进行更新,基本上是“循环状态”,直到完成为止(请谨慎操作,因为如果发出太多请求太快,可能会使服务器超载。
  2. 实现WebSocket来将更新发送到客户端。我建议您研究一下socket.io(https://socket.io/)并完成他们的教程。