📄 uploadprogressbar.cs
字号:
" }\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 + -