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

📄 images.aspx

📁 Portal C# Article Live
💻 ASPX
📖 第 1 页 / 共 2 页
字号:
<%@ Register TagPrefix="cc1" Namespace="Interspire.ArticleLive.Web" Assembly="Interspire.ArticleLive.Web" %>
<%@ Page language="c#" AutoEventWireup="true" Trace="false" %>
<%@ Import Namespace="System.IO" %>
<HTML>
	<HEAD>
		<title>
			<%= ResourceHelper.GetAdminString("ImageManager") %>
		</title>
		<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<LINK href="../Template/WindowStyles.css" type="text/css" rel="stylesheet">
		<LINK href="../Template/styles.css" type="text/css" rel="stylesheet">
		<script id="Script1" runat="server">

		public ArrayList ImageArray
		{
			get { return (ArrayList)ViewState["ImageArray"]; }
			set { ViewState["ImageArray"] = value; }
		}
		
		private string imageArr;

		public string BaseUrl
		{
			get { return Request.Url.Scheme + "://" + Request.Url.Host; }
		}
		
		public string ImagesPath
		{
			get{return (string)this.ViewState["ImagesPath"];}
			set{this.ViewState["ImagesPath"] = value;}
		}
		
		private void Page_Load(object sender, System.EventArgs e) {
			this.Response.Cache.SetExpires(DateTime.Now);

			if(!this.IsPostBack){			
				ImagesPath = Request.QueryString["ImagesPath"];
			}
			
			if (!Directory.Exists(Server.MapPath(ImagesPath)))
			{
				Response.Write(ResourceHelper.GetAdminString("ImageDirectoryInvalid"));
				Response.Write("<br>" + ImagesPath);
				Response.End();
			}
			
			if (!IsPostBack)
				DataBind();
		}

		private void Page_PreRender(object sender, System.EventArgs e){

			ImageArray = BuildImageArrayList();

			ImageGrid.DataSource = ImageArray;
			DataBind();
		}

		private ArrayList BuildImageArrayList(){
			ArrayList listItems = new ArrayList();

		//	imageArr = "var imageArr = ''";

			FileInfo[] files = (new DirectoryInfo(Server.MapPath(ImagesPath))).GetFiles();
			//if (files.Length > 0)
			//{
				imageArr = "var imageArr = Array(";
				
				foreach(FileInfo file in files){
					if(file.Name.ToLower().EndsWith(".gif") || file.Name.ToLower().EndsWith(".jpg") || 
						file.Name.ToLower().EndsWith(".png") || file.Name.ToLower().EndsWith(".jpeg")){
						listItems.Add(new ImageEntry(file.Name,FormatFileLength(file.Length)));
						
						imageArr += "'" + file.Name.Replace(@"\", @"\\").Replace("'", @"\'") + "',";
					}
				}
				
				imageArr = Regex.Replace(imageArr, "',$", "'");
				imageArr += ");";
			//}

			return listItems;
		}

		protected void btnUpload_Click(object sender, System.EventArgs e)
		{
			if (UploadFile1.PostedFile.ContentLength == 0 &&
				UploadFile2.PostedFile.ContentLength == 0 &&
				UploadFile3.PostedFile.ContentLength == 0 &&
				UploadFile4.PostedFile.ContentLength == 0 &&
				UploadFile5.PostedFile.ContentLength == 0 &&
				UploadFile6.PostedFile.ContentLength == 0)
			{
				MessageControl.DisplayError(ResourceHelper.GetAdminString("UploadFileRequired"));
			}
		
			bool valid = true;
			if (!ValidateUpload(UploadFile1.PostedFile))
				valid = false;
			else if (!ValidateUpload(UploadFile2.PostedFile))
				valid = false;
			else if (!ValidateUpload(UploadFile3.PostedFile))
				valid = false;
			else if (!ValidateUpload(UploadFile4.PostedFile))
				valid = false;
			else if (!ValidateUpload(UploadFile5.PostedFile))
				valid = false;
			else if (!ValidateUpload(UploadFile6.PostedFile))
				valid = false;
		
			//TODO: Handle insufficient permissions

			if (valid)
			{
				DoUpload(UploadFile1.PostedFile);
				DoUpload(UploadFile2.PostedFile);
				DoUpload(UploadFile3.PostedFile);
				DoUpload(UploadFile4.PostedFile);
				DoUpload(UploadFile5.PostedFile);
				DoUpload(UploadFile6.PostedFile);

				MessageControl.Display(ResourceHelper.GetAdminString("UploadComplete"));
				
				ImageArray = BuildImageArrayList();
				ImageGrid.DataSource = ImageArray;
				DataBind();
			}
		}
		
		private bool ValidateUpload(HttpPostedFile postedFile)
		{
			if (postedFile.ContentLength > 0)
			{
				string fileName = Path.GetFileName(postedFile.FileName);
				if (ImageArray.Contains(fileName))
				{
					MessageControl.Display(String.Format(ResourceHelper.GetAdminString("FileNameTaken"), fileName));
					return false;
				}
			
				bool valid = false;
				if (Regex.IsMatch(fileName, @"\.gif$", RegexOptions.IgnoreCase))
					valid = true;
				else if (Regex.IsMatch(fileName, @"\.jpg$", RegexOptions.IgnoreCase))
					valid = true;
				else if (Regex.IsMatch(fileName, @"\.png$", RegexOptions.IgnoreCase))
					valid = true;
				else if (Regex.IsMatch(fileName, @"\.jpeg$", RegexOptions.IgnoreCase))
					valid = true;

				if (!valid)
				{
					MessageControl.DisplayError(String.Format(ResourceHelper.GetAdminString("ImageInvalid"), fileName));
					return false;
				}
				else
					return true;
			}
			else
				return true;
		}
		
		private void DoUpload(HttpPostedFile postedFile)
		{
			if (postedFile.ContentLength > 0)
			{
				string fileName = postedFile.FileName;
				fileName = fileName.Substring(fileName.LastIndexOfAny(new char[] {'\\','/'}) + 1);

				if(fileName.ToLower().EndsWith(".gif") || fileName.ToLower().EndsWith(".jpg") || fileName.ToLower().EndsWith("png") || fileName.ToLower().EndsWith("jpeg")){
					postedFile.SaveAs(Server.MapPath(ImagesPath) + "/" + fileName);
				}
			}
		}
		
		protected void ImageGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
			{
				LinkButton deleteButton = (LinkButton)e.Item.FindControl("DeleteButton");
				
				deleteButton.Attributes.Add("onclick",
					"return confirm('" + Util.SimpleEscape(ResourceHelper.GetAdminString("ConfirmDeleteImage")) + "')");
			}
		}
		
		protected void ImageGrid_ItemCommand(object sender, DataGridCommandEventArgs e)
		{
			if (e.CommandName == "Delete")
			{
				DeleteImage(e.CommandArgument.ToString());
			}
		}

		protected void DeleteImage(string fileName)
		{
			FileInfo fileToDelete;
			
			//TODO: handle insufficient permissions and file not found.

			fileToDelete = new FileInfo(Server.MapPath(ImagesPath) + "/" + fileName);
			fileToDelete.Delete();
			
			MessageControl.Display(ResourceHelper.GetAdminString("FileDeleted"));
		}

		protected string FormatFileLength(long length){
			if(length > 999999){
				return (Math.Round((decimal)length/1000000,2)).ToString() + " MB";
			}else if(length > 999){
				return (Math.Round((decimal)length / 1000,2)).ToString() + " KB";
			}else
				return length.ToString() + " bytes";
		}

		#region Image Entry subclass
		[Serializable]
		private class ImageEntry{
			private string fileName;
			private string fileSize;

			public string FileName{
				get{return this.fileName;}
			}

			public string FileSize{
				get{return this.fileSize;}
			}

			public ImageEntry(string fileName, string fileSize){
				this.fileName = fileName;
				this.fileSize = fileSize;
			}
		}
		#endregion
		</script>
	</HEAD>
	<body MS_POSITIONING="FlowLayout">
		<form id="Form1" method="post" runat="server">
			<!-- 100% Height Table -->
			<table border="0" height="100%" width="100%" cellpadding="0" cellspacing="0">
				<tr>
					<td height="100%" valign="top">
						<!-- Do not delete -->
						<!-- START PAGE HEADER --> &nbsp;
						<br>
						<table width="97%" align="center" border="0" cellspacing="0" cellpadding="0">
							<tr>
								<td width="10"><img src="../Images/Layout/Layout_lc_w.gif" width="10" height="11"></td>
								<td width="100%"><img src="../Images/Layout/Layout_tbg_w.gif" width="100%" height="11"></td>
								<td width="10"><img src="../Images/Layout/Layout_rc_w.gif" width="10" height="11"></td>
							</tr>
						</table>
						<table width="97%" align="center" border="0" cellspacing="0" cellpadding="0" height="100%">
							<tr>
								<td width="1" style="BACKGROUND-COLOR: black"></td>
								<td bgcolor="white" class="body" style="PADDING-RIGHT:0px;PADDING-LEFT:0px;PADDING-BOTTOM:0px;PADDING-TOP:0px"
									valign="top">
									<table cellSpacing="0" cellPadding="0" width="100%" bgcolor="white">
										<TBODY>
											<tr>
												<td vAlign="top">
													<div class="BodyContainer" style="MARGIN-TOP: 20px; MARGIN-BOTTOM: 20px">
														<table id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0">
															<tr>
																<td class="Heading1"><%= ResourceHelper.GetAdminString("ImageManager") %></td>
															</tr>
															<TR>
																<TD class="Intro" colSpan="2"><div><%=ResourceHelper.GetAdminString("InsertImageIntro")%></div>
																	<cc1:messagecontrol id="MessageControl2" runat="server"></cc1:messagecontrol></TD>
															</TR>
															<tr>
																<td>
																	<table class="Panel" id="Table4" cellSpacing="0" cellPadding="0" width="100%" border="0">
																		<tr>
																			<td class="Heading2"><%= ResourceHelper.GetAdminString("Internal Image") %></td>
																		</tr>

⌨️ 快捷键说明

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