回答
没有任何技术原因阻止浏览器计算要发送的总字节数,然后跟踪服务器接收了多少数据(谢谢Kibbee的评论)。 Firefox有一个功能上传进度指示器,直到0.9版本,但build在2004年打破了它。
通过Bugzilla更新阅读,似乎这个功能似乎没有足够的用户受益于开发人员的任何牵引。
定期上传超大文件的用户往往会使用专为此目的而设计的FTP之类的工具,因此他们不会受到影响。
你必须回发到上传文件,不管你是否正被“偷偷摸摸”它的(例如使用隐藏的iframe);从这个意义上说,浏览器自己的进度条(通常在状态栏下)是文件上传进度条,虽然不完全一样。
这只是你不能很容易地使用这些数据为自己,所以你有很多客户端到服务器的通信招数接近它。
网络浏览器一直是网络浏览器。这是一种消费机制。我们通过同一个门户上传信息的能力有点破绽。
添加到flamingLogos参数中,您可能会在代理服务器后面运行一秒钟内完成5兆字节的纯善,然后通过56kbit调制解调器将其发送到服务器。
我觉得一个错误的进度条总比没有进度条稍微差一点,而且会有很多人认为它会出错所有的时间都是。
有没有真正的技术原因,你不能有一个合理的进度指标,你做下载。您应该将其作为功能请求推荐给您喜爱的浏览器。
这就是说,我认为有这么多基于javascript/flash/ajax的上传组件的主要原因并不是提供进度条(尽管这是一个不错的奖励)。这通常是因为他们想要提供更好的用户界面来选择要上传的数据,并有时在上传前操作数据。 HTML规范中的基本文件上载功能会导致“浏览...”按钮弹出文件打开对话框,并将原始文件数据原样上传到服务器。
是的,这很愚蠢,由于某些原因,浏览器制造商无视它。 我强烈反对大文件用户使用FTP - 几乎没有人知道这一点,所有常见的Web应用程序都需要HTTP上传视频,音频和图片(例如YouTube)。
具有讽刺意味的是,用户参与和媒体是Web 2.0的关键,但用户参与的主要机制却很少被浏览器处理。
对于Firefox已经出现了错误煎熬多年,如更好的上传进度显示: https://bugzilla.mozilla.org/show_bug.cgi?id=243468
获取投票! :)
在状态栏现有进度栏打破了多年 - 见错误249338 - 它会让你静静地中止上传 - 如果您使用的是Firefox看到错误432768.
,您可以使用为此目的而设计的新的UploadProgress插件https://addons.mozilla.org/en-US/firefox/addon/221510/即显示上传进度和估计剩余时间。
因此,浏览器只能猜测,但永远不知道,有多少数据从服务器接收,因为有像没有控制连接在FTP中。因此,您必须通过AJAX轮询来构建您自己的“控制连接”... – Egon 2008-10-24 22:35:41