Asp.Net 无刷新文件上传并显示进度条的实现方法及(5)


             ...
                     ...
             //计算当前上传文件的百分比
                    long percent = writtenSize * 100 / totalLength;

SendPercentToClient(percent);


服务端OK!修改客户端,添加JS处理函数:

复制代码 代码如下:


        function RequestProgress() {
            $.post("RequestProgressAsyncHandler.ashx", function (data, status) {
                if (status == "success") {
                    $("#progressValue").text(data + "%");
                    data = parseInt(data);
                    $("#progressBar").progressbar({ value: data });//JQuery UI 设置进度条值
                    //如果进度不是 100,则重新请求
                    if (data != 100) {
                        RequestProgress();
                    }
                }
            });
        }


在form中添加事件omsubmit的处理函数为RequestProgress

复制代码 代码如下:


<form action="UploadFileHandler.ashx" onsubmit = "RequestProgress();" method="post" target = "frameFileUpload" enctype="multipart/form-data">


补充几点:
1.默认Asp.Net允许的上传文件的大小是4M,可以在Web.config中修改其大小限制

复制代码 代码如下:


    <system.web>
        <httpRuntime maxRequestLength="444444"/>
    </system.web>


maxRequestLength的单位是KB

2.在IE 8.0测试中,在文件上传完毕后,状态栏还处于请求中

Asp.Net 无刷新文件上传并显示进度条的实现方法及

反正不是后台还在请求,这个放心,只要把鼠标在按钮和浏览上面来回移动几下就没了,可能是JQuery UI 的问题。FF和Chrom下没这个问题,就是显示效果会有点差,但是上传没问题的。

源代码下载:UploadFileDemo.rar

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjgjgz.html