📄 admin_fileadmin.aspx
字号:
<% @ Import Namespace="Packaging" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.IO" %>
<% @ Import Namespace="Microsoft.VisualBasic" %>
<% @ Register TagPrefix="pb" TagName="Header" Src="header.ascx" %>
<% @ Register TagPrefix="pb" TagName="Footer" Src="footer.ascx" %>
<% @ Register TagPrefix="pb" TagName="Login" Src="login.ascx" %>
<% @ Register TagPrefix="pb" TagName="admin" Src="admin.ascx" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Language" content="zh-cn">
<title>Dot.Net管理区!</title>
<script language="JavaScript">
<!--
function openwin(url,w,h) {
window.open(url,"","top=50,left=150,height="+h+",width="+w+",toolbar=0,location=0,directories=0,menubar=0,scrollbars=0,resizable=yes,status=0");
}
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);//-->
</script>
<link rel="stylesheet" type="text/css" href="pack.css">
</head>
<body topmargin="6" leftmargin="0" bgcolor="#eaeaea">
<form enctype="multipart/form-data" method="post" runat=server>
<pb:Header id="Header" runat="server" />
<div align="center">
<table border="0" cellpadding="0" cellspacing="1" bgColor="#006699" width="750" height="125">
<tr><td width="25%" valign="top" background="images/bd.gif" rowspan="2" height="125">
<pb:admin id="admin" runat="server" />
<pb:Login id="login" runat="server" />
</td>
<td width="75%" valign="top" bgcolor="#FFFFFF" height="228" background="images/ldb.gif">
<table cellpadding=0 cellspacing=1 width="100%" border="0" align="center">
<tr height=35>
<td><b><br><font color=green>上传文件管理</font></b></td>
</tr>
</table>
当前目录:/upload<asp:Label id="cur_dir" bodyerstyle="groove" runat="server" />
<table border=0 cellpadding="0" cellspacing="1" bgcolor="#006699">
<tr>
<td bgcolor="#99CC00"><span id="up_dir" runat=server /></span></td>
</tr>
</table>
<ASP:DataGrid id="MyDir" runat="server"
DataKeyField="name"
Width="100%"
Align="center"
ShowHeader="true"
ShowFooter="false"
CellPadding=3
AutoGenerateColumns="false"
BorderColor="#00A71C"
HeaderStyle-BackColor="#99cc00"
CellSpacing="0"
OnDeleteCommand="MyDir_Delete"
AllowPaging="True"
PageSize="20"
PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="right"
OnPageIndexChanged="changepage" >
<AlternatingItemStyle BackColor="#ccff99" />
<Columns>
<asp:BoundColumn
HeaderText="目录/文件"
DataField="type" />
<asp:BoundColumn
HeaderText="名称"
DataField="name" />
<asp:BoundColumn
HeaderText="内容"
DataField="action" />
<asp:ButtonColumn
ButtonType="LinkButton"
CommandName="Delete"
Text="删除" />
</Columns>
</ASP:DataGrid>
<asp:Label id="error1" runat="server" style="color:red" /><br>
<table border="0" cellpadding="0" cellspacing="1" width="90%" bgcolor="#006699">
<tr>
<td width="22%" align="center" bgcolor="#99CC00">新建文件夹</td>
<td width="78%" bgcolor="#CCFF99"> <asp:Textbox id="folder" runat=server size=20 />
<asp:Button id="addfolder" text="新建" onClick="AddFolder_Click" runat=server />
</td>
</tr>
<tr>
<td width="22%" align="center" bgcolor="#99CC00">文件上传</td>
<td width="78%" bgcolor="#CCFF99">
<input type="file" runat="server" id="FileUp" />
</td></tr>
<tr>
<td width="22%" align="center" bgcolor="#99CC00">文件改名为</td>
<td width="78%" bgcolor="#CCFF99"> <asp:TextBox id="fn" runat="server" maxlength="20"/>
<asp:Button id="Submit" text="上传" onclick="Submit_OnClick" runat=server/>
</td>
</tr>
<tr bgcolor="#CCFF99">
<td width="100%" colspan="2"><br>
<ul><li>可上传文件类型:jpg、gif、swf、zip、rar; </li></ul>
<asp:Label id="success" runat=server style="color:red" />
<asp:Panel id="fileinfo" runat=server Visible=False>
文件引用地址:<asp:label id=FName runat=server /><br>
文件大小:<asp:label id=FSize runat=server /><br>
文件类型:<asp:label id=FType runat=server />
</asp:Panel></td></tr>
</table>
</td>
<tr><td width="75%" valign="bottom" bgcolor="#FFFFFF" height="80" align="right" background="images/ldb.gif">
<img border="0" src="images/pen.gif" width="400" height="80"><br> </td></tr>
</table>
</div>
<pb:Footer id="footer" runat="server" />
</form>
</body>
</html>
<script language="VB" runat="server">
Dim startIndex As Integer
Sub Page_Load(Sender As Object, e As EventArgs)
If Not Request.IsAuthenticated Then
Response.Redirect("login.aspx")
End If
If Context.User.Identity.Name<>"crazy" Then
Response.Redirect("admin.aspx")
End If
If Not Page.IsPostBack Then
startIndex=0
End If
BindGrid
End Sub
Sub BindGrid()
Dim cdir As String=Request("dir")
If cdir="" Or cdir="/" Then
up_dir.InnerHtml="ROOT"
cur_dir.text="/"
Else
Dim subdir As String
cur_dir.text=cdir
subdir=cdir.subString(0,cdir.lastIndexOf("/"))
up_dir.InnerHtml="<a href=admin_fileadmin.aspx?dir=" & _
subdir & ">向上</a>"
End If
Dim DT As DataTable=New DataTable()
Dim DR As DataRow
DT.Columns.Add("name",Type.GetType("System.String"))
DT.Columns.Add("type",Type.GetType("System.String"))
DT.Columns.Add("action",Type.GetType("System.String"))
Dim d As String
Dim Filesplit(), fd As String
Dim dir As Directory
For Each d In dir.GetFileSystemEntries(sPath(cur_dir.text))
DR=DT.NewRow()
If File.Exists(d) Then
Filesplit=split(d,"\")
fd=Filesplit(Filesplit.Length-1)
DR(0)=fd
DR(1)="文件"
DR(2)="<a href=upload" & rPath(d) & " target=_blank>打开文件</a>"
Else
Filesplit=split(d,"\")
fd=Filesplit(Filesplit.Length-1)
DR(0)=fd
DR(1)="目录"
DR(2)="<a href=admin_fileadmin.aspx?dir=" & rPath(d) & ">向下</a>"
End If
DT.Rows.Add(DR)
Next
MyDir.DataSource=DT.DefaultView
MyDir.DataBind()
End Sub
Function rPath(ByVal dir As String) As String
Dim d As String=Server.MapPath("upload")
dir=replace(dir,d,"")
dir=replace(dir,"\","/")
Return dir
End function
Function sPath(dir As String) As String
Dim d As String=Server.MapPath("upload")
dir=d+dir
dir=replace(dir,"/","\")
Return(dir)
End Function
Function gPath(dir As String) As String
Dim d As String=Server.MapPath("upload")
dir=d+cur_dir.Text+"\"+dir
dir=replace(dir,"/","\")
Return(dir)
End Function
Sub changepage(Sender As Object, e As DataGridPageChangedEventArgs)
startIndex=e.NewPageIndex*MyDir.PageSize
MyDir.CurrentPageIndex=e.NewPageIndex
BindGrid
End Sub
Sub MyDir_Delete(Sender As Object, e As DataGridCommandEventArgs)
Try
Dim dir As String=MyDir.DataKeys(E.Item.ItemIndex)
dir=gPath(dir)
If file.Exists(dir) Then
File.Delete(dir)
Else
Delete_Dir(dir)
End If
BindGrid()
Catch ex As Exception
error1.text=ex.Tostring() '"你不能删除这个文件夹!"
End Try
End Sub
Sub Delete_Dir(dir As String)
Dim d As String
For Each d In Directory.GetFileSystemEntries(dir)
If File.Exists(d) Then
File.Delete(d)
Else
Delete_dir(d)
End If
Next
Directory.Delete(dir)
End Sub
Sub Submit_OnClick(Sender As Object, e As EventArgs)
If FileUp.PostedFile.ContentLength=0 Then
FileInfo.Visible=False
success.Text="上传文件长度为0, 上传失败!"
Exit Sub
Else
FSize.Text=CStr(FileUp.PostedFile.Contentlength)
FType.Text=FileUp.PostedFile.ContentType
Dim fileSplit() As String=Split(FileUp.PostedFile.filename, "\")
Dim Filename As String=FileSplit(fileSplit.length-1)
Dim f As String
If fn.Text="" Then
f=Server.MapPath("upload") & cur_dir.Text & "\" & filename
f=replace(f,"/","\")
FName.Text="upload" +cur_dir.Text+ "/" + filename
Else
f=Server.MapPath("upload") & cur_dir.Text & "\" & fn.Text
f=replace(f,"/","\")
FName.Text="upload" + cur_dir.Text+ "/" + fn.Text
End If
If File.Exists(f) Then
success.Text="存在重名文件!上传文件失败!"
Else
fileUp.PostedFile.SaveAs(f)
FileInfo.Visible=True
success.Text="上传文件成功!<br>"
BindGrid()
End If
End If
End Sub
Sub AddFolder_Click(Sender As Object, e As EventArgs)
Dim subDir As String
subDir=cur_dir.Text+"/"+folder.Text
subDir=Server.MapPath("/pack/upload")+subDir
subDir=replace(subDir,"/","\")
If Directory.Exists(subDir) Then
error1.text=folder.Text+"已经存在!"
folder.text=""
Else
Directory.CreateDirectory(subdir)
folder.text=""
BindGrid()
End If
End Sub
</script>
<style>
td {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size : 10pt;
}
.whiteB {
color: white;
font-weight : bold;
}
input {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size : 10pt;
}
td.bar {
color: green; font-weight: bold;
}
a.whiteLink:link {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight : bold;
color : white;
text-decoration : none;
}
a.whiteLink:visited {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight : bold;
color : white;
text-decoration : none;
}
a.whiteLink:hover {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight : bold;
color : white;
text-decoration : none;
}
a.barLink:link {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : #CCFF99;
text-decoration : none;
}
a.barLink:visited {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : #CCFF99;
text-decoration : none;
}
a.barLink:hover {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : #CCFF99;
text-decoration : underline;
}
a.author:link {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : black;
text-decoration : none;
}
a.author:visited {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : black;
text-decoration : none;
}
a.author:hover {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
color : black;
text-decoration : underline;
}
</style>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -