如何在网上实现文件上传进度条?

时间:2008-09-08 12:24:25

标签: .net javascript ajax

我希望在用户将文件上传到我的网络应用程序时显示更有意义的动画gif。我有什么可能吗?

编辑:我正在使用.Net,但我不介意有人向我展示平台无关的版本。

7 个答案:

答案 0 :(得分:14)

如果您对所有这些通常适用于客户端网站感兴趣,可以这样:

所有解决方案都通过javascript连接表单,并将表单目标更改为新创建的不可见IFRAME。然后他们可以自由地使用AJAX从服务器请求有关该文件的某些状态。

需要IFRAME技巧,因为正在执行上载的窗口中运行的所有脚本都将挂起,直到请求完成,此时文件已完全上载。

答案 1 :(得分:5)

以下是您正在寻找的一些常见JavaScript工具包的几个版本。

答案 2 :(得分:3)

答案 3 :(得分:2)

我尝试了各种技术,并且在SWFUpload取得了最大的成功。

您可以使用Javascript创建SWFUpload对象并与之交互,但使用(隐藏)Flash文件进行文件选择,上传和上传进度监控。您可以指定Flash在上传过程中调用的各种Javascript事件处理程序(uploadStarteduploadProgressuploadError等),使其非常灵活。它还实现了一个文件队列,因此适用于单个或多个文件。

链接:

答案 4 :(得分:1)

在去年7月和8月的Dino Esposito的MSDN杂志文章中可以找到一些针对进度条的特定于.NET的帮助:

Context-Sensitive Feedback with AJAX (July '07)
Canceling Server Tasks with ASP.NET AJAX (August '07)

答案 5 :(得分:0)

在不使用Ajax的情况下执行此操作的一个很好的示例是at CodeProject by Nilesh Thakkar

答案 6 :(得分:-3)

jQuery UI Progressbar - http://jqueryui.com/demos/progressbar/