【问题标题】:File Upload server polling with Progress Bar使用进度条进行文件上传服务器轮询
【发布时间】:2011-12-09 21:15:54
【问题描述】:

这不是那些询问如何上传文件和显示进度条的问题的重复。我对基础的理解是:

  1. 我们有一个表单,可以将给定的输入文件发布到给定的 url。
  2. 点击提交按钮后,我们设置间隔每秒运行一个 Javascript 方法,该方法使用 AJAX 轮询服务器以获取此下载的状态。

对我来说唯一的困境是我尝试了这种方法,但是当我查看 FireBug 控制台时,我可以看到所有这些 jQuery AJAX 调用。我看过其他人的实现,在 FireBug > Net > XHR 中看不到任何内容。

有人知道这是如何实现的吗?

任何建议将不胜感激。

干杯, 莫什

PS:强调一下,我对用 Flash 做这件事不感兴趣。

【问题讨论】:

  • 你认为有人真正实现了这个吗?
  • 您使用哪种编程语言?例如,PHP 中有一些选项,但是当您使用 ASP 时这对您没有帮助;-)
  • 您实际上是在问:如何从控制台面板隐藏 Ajax 请求

标签: jquery file upload progress-bar


【解决方案1】:

【讨论】:

    【解决方案2】:

    并不像看起来那么简单

    我认为这将涉及一些低级 Web 服务器编程,因为在您的代码执行之前正在处理(上传)文件。这仅仅意味着您不了解 Web 服务器的内部文件上传过程来轮询/调查它...

    如果你的场景实际上应该这样工作:

    1. 选择一个文件
    2. 提交(开始上传)
    3. Ajax 投票

    那么你会遇到几个问题:

    • 如果您的 Ajax 请求应该从同一页面运行,这将不起作用,因为页面已经卸载(表单已经发送),这意味着脚本可能会停止。
    • 如果您的表单在不同的iframe 中上传文件并从父页面轮询上传,则必须实现一些低级服务器代码以提供我上面强调的内容。

    客户端插件

    这就是为什么在客户端使用像 Uploadify 这样的插件更容易做到这一点,也可以使用 Flash 来获取有关向服务器上传进度的信息。

    【讨论】:

      【解决方案3】:

      也许这个页面可以帮助你:jquery ajax uploader plugin with progress bar。或者您可以自己寻找替代方案。

      【讨论】:

        【解决方案4】:

        这似乎实际上是一个问题。

        • 我可以建议的一个改进是使用 Socket.io 库,它使用 websockets,并通过 XHR 或 Flash 回退到长轮询。它至少会提供一种结构化的方式来最小化轮询开销。

        • 当涉及到“隐藏请求”时,他们可能使用与 XHR 不同的方法,如果您没有看到 XHR,他们可能没有执行 XHR。 (这很明显)

        【讨论】:

          猜你喜欢
          • 2011-04-04
          • 1970-01-01
          • 2011-04-04
          • 1970-01-01
          • 1970-01-01
          • 2012-04-11
          • 2017-01-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多