使用带有页面导航的共享 Web Worker 上传文件

Man*_*ngh 5 javascript java web-worker asyncfileupload shared-worker

我想要在后台上传文件,一旦开始处理文件上传,就不会影响页面的主要使用。

除此之外,我们希望能够在不中断上传的情况下从执行上传的页面导航到应用程序中的其他页面。

我已经使用 Web worker/SharedWorker 实现了它,以在后台使用 XMLHTTPRequest post 请求将文件对象发送到服务器。在启动上传并且没有导航到其他页面时它工作正常。但是在从 page1.html 开始上传后导航到 page2.html 时, request.getPart() 在服务器端返回 null 并且上传失败。

使用sharedWorker提交的任务在导航到同一域中的其他页面时是否停止/暂停?

为什么 request.getPart() 在导航到其他页面时返回 null,因为在导航到同一域中的其他页面时,sharedWorker 仍必须运行?

我的应用程序的结构是:

  1. main.html - 具有多部分表单并创建共享工作线程来上传表单
  2. worker.js - 使用 XMLHTTPRequest post 请求将文件对象发送到服务器。
  3. server - HTTP servlet 处理 post 请求并保存文件

我们如何实现以下功能:

  • 使用后台 SharedWorker/WebWorker 从主页发起上传
  • 导航到同一域中的其他页面2
  • 导航回主页并从 SharedWorker/WebWorker 获取上传状态

任何链接/建议都将非常感激。

谢谢,曼普雷特