📄 images.aspx
字号:
<%@ 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 -->
<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 + -