加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 进度指示器使用FileUpload控件

发布时间:2020-12-15 23:54:04 所属栏目:百科 来源:网络整理
导读:我有一个网页,我希望人们能够上传内容. (只有少数人使用它,因为它是访问限制的,所以我不太担心任何DOS类型的攻击.) 我正在使用fileUpload控件来执行此操作: protected void Button1_Click(object sender,EventArgs e) { if (fileUploader.HasFile) try { fi
我有一个网页,我希望人们能够上传内容. (只有少数人使用它,因为它是访问限制的,所以我不太担心任何DOS类型的攻击.)

我正在使用fileUpload控件来执行此操作:

protected void Button1_Click(object sender,EventArgs e)
    {
        if (fileUploader.HasFile)
        try {
          fileUploader.SaveAs(Server.MapPath("Uploads") + fileUploader.FileName);
          errorMessage.Text = "File name: " +
               fileUploader.PostedFile.FileName + "<br>" +
               fileUploader.PostedFile.ContentLength + " kb<br>";
        }
        catch (Exception ex) {
          errorMessage.Text = "ERROR: " + ex.Message.ToString();
        }
        else
        {
           errorMessage.Text = "You have not specified a file.";
        } 
    }

文件最大可达50MB(我已更改web.config以允许此操作).我遇到的问题是,对于大文件,用户无法看到上传的进度.

我想知道如何在页面上显示进度,以便用户可以看到正在发生的事情.没有任何想象力的东西 – 只是像:

上传的字节数/总字节数

没关系.我可以使用postingFile.ContentLength获取总字节数,但不知道如何获取上传的字节数.

此外 – 我是否能够在上传过程中刷新屏幕?

干杯,

解决方法

这个答案并非特定于ASP ……

文件上载通常通过使用Content-type:multipart / form-data发出HTTP POST请求来完成.这包括请求正文的一个部分中的文件正文.

因此,在给定的浏览器选项卡中,在给定时间只能加载一个页面.简短的回答是,除非你真的很喜欢iframe(一个用于状态,一个用于上传),否则你将无法显示状态.

但是,如果您使用Flash,则可以. http://www.uploadify.com/是一个很棒的小前端插件(用于jQuery),它允许用户选择多个文件,并上传所有文件,显示沿途的状态.我只是将其插入一个将上传限制为64M的网站.工作真棒.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读