⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadprogressbar.cs

📁 上传的控件
💻 CS
📖 第 1 页 / 共 2 页
字号:
            "    }\r\n",
            "    //清空时间定时器,节省资源\r\n",
            "    function ClearTimer()\r\n",
            "    {\r\n",
            "        if(iTimerID != null)\r\n",
            "        {  alert('上传成功!');\r\n",
            "            window.clearTimeout(iTimerID);\r\n",
            "            iTimerID = null; ClearUploadedFile();\r\n",
            "            processBar.reset();\r\n",
            "        }else{ alert('不成功');}\r\n",
            "    }</script>\r\n"
            );

            if (!Page.ClientScript.IsClientScriptBlockRegistered("UploadProgressBar"))
            {
                Page.ClientScript.RegisterClientScriptBlock(typeof(string), "UploadPorgressBar", script);
            }

            #endregion

            #region Bind Upload Button

            this.UploadButtonName = _btnUpload.UniqueID;

            Control ctl = Page.FindControl(UploadButtonName);

            if (ctl == null)
            {
                return;
            }

            if (ctl is WebControl)
            {
                WebControl webCtl = (WebControl)ctl;//return false;
                webCtl.Attributes.Add("onclick", "if(selFrameArea.ItemCount()==0){ alert('请选择上传文件!'); return false;}else{ document.forms.item(0).target='WUSGUpload_frame';ProcessStar();}");
                //注册一个进度条: 
               Upload.UploadHelper uploadhelper = new UploadHelper();
               uploadhelper.RegisterProgressBar((Button)webCtl);
            }

            #endregion

            #region Handler For Setting Complete Status After Upload

            //Page.SaveStateComplete += new EventHandler(Page_SaveStateComplete);

            #endregion
        }

        //private void Page_SaveStateComplete(object sender, EventArgs e)
        //{
        //    if (Page.IsPostBack)
        //    {
        //        Page.Response.Write("<script language=javascript>ClearTimer();if (typeof parent.iTimerID != 'undefined'&&parent.iTimerID != null) { parent.ClearTimer(); }if(typeof iTimerID != 'undefined'&&iTimerID != null){ ClearTimer();alert('去掉定时器3');}</script>");
        //    }
        //}

        protected override void Render(HtmlTextWriter writer)
        {
            
            string pagehtml = string.Concat(
                "<table style=\"width:400px;border-color:#0A50A1;border-width:1px;border-style:solid\" cellpadding=\"0\" cellspacing=\"0\">",
                "<tr>",
                "<td style=\"width:300px;\" align=\"center\" id=\"tdFileSelArea\">",
                "</td>",
                "<td style=\"height: 100px;border-left:solid 1px #0A50A1\" >",
                "<table cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%;height:100%;\" >",
                "   <tr>",
                "       <td align=\"center\" id=\"tdFileSel\">",
                "           ",
                "         </td>",
                " </tr>",
                "  <tr>",
                "      <td align=\"center\" style='width:100px;'>");
            writer.Write(pagehtml);
            //_btnUpload = new Button();
            //_btnUpload.Click += new EventHandler(this.UploadEvent);
            ////_btnUpload.Attributes.Add("onclick", "javascript:UploadSubmit();");
            //_btnUpload.Text = "开始上传";
            if(_btnUpload != null)
                _btnUpload.RenderControl(writer);

            //定义提交按钮
            pagehtml = string.Concat(
                " </td></tr>",
                "</table>",
                "</td>",
                "</tr>",
                "<tr>",
                "<td colspan=\"2\"   style=\"height:21px;border-top:solid 1px #0A50A1 \" id=\"tdProgress\">",
                //进度条位置
                "</td>",
                "</tr>",
                 "<tr><td colspan='2'>",
                  "<table cellpadding=\"0\" cellspacing=\"0\" border='0' style='width:100%;height:98%;' ><tr>",
                 "<td align='right' vlign='top' style='width:20%;background-color:#8EA5E7'>已上传文件:</td>",
                " <td  align='left'  style=\"height:50px; \" id=\"tdUploadLog\">.",
                //上传日志
                "</td></tr></table>",
                "</tr>",
                "</table>"
             );
            writer.Write(pagehtml);

            pagehtml = string.Concat(

             "<style type=\"text/css\"> \r\n",
             "	.progressBar { " + ProgressBarCssStyle + " } \r\n",
             "	.progressInfo { " + ProgressTextInfoCssStyle + " } \r\n",
             "	.progress { " + ProgressValueCssStyle + " } \r\n",
             "</style>\r\n",
             "<script>\r\n ", //allSelFile=当上传完成后保存起来.
             "   var allSelFile = []; var allCompleteInfo=[];  var processBar = new ProcessBar(); \r\n", 
             "       var selFrameArea = new SelFrameArea(1,\"V\",1);  \r\n",
             "       var tdProgress = document.getElementById(\"tdProgress\"); \r\n",
             "       G_ObjM.$AppendChild(tdProgress,processBar.Frame); \r\n",
             "       var fileSelButtonCollection = new FileSelButtonCollection(" + this.UploadFileCount + "); \r\n",
             "      var fileSelButton = new FileSelButton(1,\"wusguploadfiles\",1,\"请选择文件\"); \r\n",//code,filename,btntype,btnname
             "       function loadSelFileBtn() \r\n",
             "       { \r\n",
           
             "           var tdfileselArea = document.getElementById(\"tdFileSelArea\"); \r\n",
             "           G_ObjM.$AppendChild(tdfileselArea,selFrameArea.Frame); \r\n",

             "           var tdfilesel = document.getElementById(\"tdFileSel\"); \r\n",
          
             "           G_ObjM.$AppendChild(tdfilesel,fileSelButtonCollection.Frame); \r\n",  
                            
             "           fileSelButtonCollection.Add(fileSelButton,selFrameArea);\r\n",

             "       } \r\n",
             "loadSelFileBtn();</script>\r\n"
                );
            writer.Write(pagehtml);

            pagehtml = string.Concat(
                     "<iframe style=\"display:none\" id=\"WUSGUpload_frame\" name=\"WUSGUpload_frame\" src=\"about:self\"></iframe>\r\n",
               "");
            writer.Write(pagehtml);

           // base.Render(writer);
        }

        #endregion

        #region 上传事件

        //public event EventHandler ButtonClick
        //{
        //    add { Events.AddHandler(EventButtonClick, value); }
        //    remove { Events.RemoveHandler(EventButtonClick, value); }
        //}

        //protected virtual void OnButtonCLick(EventArgs e)
        //{
        //    EventHandler buttonclickhandler = (EventHandler)Events[EventButtonClick];
        //    if (buttonclickhandler != null)
        //    {
        //        buttonclickhandler(this, e);
        //    }
 
        //}
        ////重写昌泡的方法
        //protected override bool OnBubbleEvent(object source, EventArgs args)
        //{
        //    bool handled = false;
        //    if (args is CommandEventArgs)
        //    {
        //        CommandEventArgs ce = (CommandEventArgs)args;
        //        if (ce.CommandName == "ButtonClick")
        //        {
        //            OnBubbleEvent(EventArgs.Empty);
        //            handled = true;
        //        }
        //    }

        //    return handled;
        //}

        /// <summary>
        /// 执行上传事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void UploadEvent(object sender, EventArgs e)
        {
            //创建上传目录
            string uploadpath = Path.Combine(Utils.GetContext().Server.MapPath("~"), this.UploadFolder);
            if (!Directory.Exists(uploadpath))
            {
                Directory.CreateDirectory(uploadpath);
            }

            UploadFileCollection files = UploadHelper.GetUploadFileList("wusguploadfiles");

            foreach (UploadFile file in files)
            {
                string newFileName = Utils.PNewFileName(file.FileName,file.NewFileName);
                string fileresult1 = "<script>parent.PushComplete('{0}','{1}','{2}');</script>";
                fileresult1 = string.Format(fileresult1, HttpUtility.UrlEncode(file.FileName), file.FileSize, HttpUtility.UrlEncode(this.UploadFolder + "\\" + newFileName));
                HttpContext.Current.Response.Write(fileresult1);
                HttpContext.Current.Response.Flush();
                file.SaveAs(Path.Combine(uploadpath,newFileName));
                
            }
            _btnUpload.Text = "上 传";
            //执行页面中的方法
            //OnButtonCLick(e);
            
        }

        #endregion

        public string GetCallbackResult()
        {
            string resultscript = "processBar.SetMessage(\"{0}\",{1});";
            string scripttext = "";
            string uploadID = Page.Request["Sunrise_Web_Upload_UploadGUID"];

            if (uploadID != null&&uploadID != string.Empty&&HttpContext.Current != null)
            {
                
                UploadStatus uploadstatus = new UploadStatus(uploadID);
                if (uploadstatus.IsActive)
                {
                    switch (uploadstatus.State)
                    {
                        case UploadState.Initializing:
                            {
                                scripttext = string.Format(resultscript, "文件上传正在初始化!", "2");
                                break;
                            }
                        case UploadState.Uploading:
                            {
                                scripttext = string.Format(resultscript, ((uploadstatus.FileName.Length > 5) ? uploadstatus.FileName.Substring(0, 5) + ".." : uploadstatus.FileName) + "正在上载,完成" + uploadstatus.Percent.ToString() + "% 速度为:" + Utils.GetFormatString(uploadstatus.Speed) + "/s 还有时间:" + Utils.GetFormatString(uploadstatus.LeftTime), uploadstatus.Percent.ToString());
                                break;
                            }
                        case UploadState.Uploaded:
                            {
                                scripttext = string.Format(resultscript, uploadstatus.FileName + "上载完成", uploadstatus.Percent.ToString());
                                scripttext += "processBar.reset();";
                                break;
                            }
                        case UploadState.Moving:
                            {
                                scripttext = string.Format(resultscript, uploadstatus.FileName + "正在转移文件....", "100");
                                break;
                            }
                        case UploadState.Completed:
                            {

                                //得到当前完成文件的结果,显示在客户端,并清空当前的上传列表
                                scripttext = string.Format(resultscript, uploadstatus.FileName + "上载结束", "100");
                                scripttext += "ClearTimer();";//;alert('进入去除1');
                               // scripttext += fileresult;
                                scripttext += ";DisComplete();";
                                uploadstatus.Dispose();
                                break;
                            }
                    }
                }
                //else
                //{
                //    scripttext = "ClearTimer();";//if (typeof parent.iTimerID != 'undefined'&&parent.iTimerID != null) { parent.ClearTimer(); }if(typeof iTimerID != 'undefined'&&iTimerID != null){ ClearTimer();alert('去掉定时器4');};alert('没有成功');
                //}
                
            }
            
            return scripttext;
        }

        public void RaiseCallbackEvent(string eventArgument)
        {
           //计算状态
          

        }


    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -