Where___ 2015-11-19 06:44 采纳率: 0%
浏览 1874

我这样做asp.net异步文件上传进度条

前台两个请求
 1.上传文件的请求
 2.获取上传进度的请求

1.

       $("#ufrm").ajaxSubmit({
                    url: "ReceivFile.ashx",
                    type: "post",
                    success: function (data) {
                                        ...

2.

  $.ajax({
                    type: "post",
                    url: "Filepro.aspx",
                    data: {
                        type: "gp"
                    },
                    success: function (data) {
                                        ...

后台两个处理:
1.接收文件的处理

       int readcount = 0;
                    int tcount = 0;
                    tcount = files.ContentLength;
                    byte[] buffer=new byte[10];
                    System.IO.FileStream fs= System.IO.File.Create(context.Server.MapPath(pic));
                    HttpContext.Current.Session["fp"] = "1";
                    while ((readcount=stream.Read(buffer,0,10))>0)
                    {
                        fs.Write(buffer, 0, readcount);
                        HttpContext.Current.Session["fp"] = fs.Length + "/" + tcount;
                    }

2.返回进度

   if (tag.Equals("gp"))
        {
            if (Session["fp"] != null)
            {
                Response.Write(Session["fp"].ToString());
                Response.End();
            }
            else
            {
                Response.Write("NULL");
                Response.End();
            }

        }

服务器接收文件的过程中把上传的进度存到session中 前台请求上传进度的时候 服务器从这个session里获取值发送给前台 前台再显示出来
我这样去实现上传的进度显示可以吗?
现在的问题是 返回的进度总是NULL 像是被接收文件那个线程给独占了一样  应该怎样去改进 求指教
我查了这两个请求(上传文件请求和获取进度请求)的sessionid是一样的!

  • 写回答

1条回答

  • Go 旅城通票 2015-11-19 07:29
    关注

    因为用了session,其他所有请求都会被挂起,显示个loading...图片就好了,上传完毕隐藏起来
    asp.net/asp网站浏览器打开一个长时间运行的页面同时打开其他页面为什么被挂起

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!