在ASP.NET中獲取文件屬性(Retrieving File Information In ASP.NET)
By Steven Smith
使用ASP.NET我們可以很容易的得到文件的相關信息,包括:文件名、路徑、擴展名、大小和創建以及使用日期等。下面,我們就通過一段代碼看看如何取得文件的相關信息。
如果我們使用典型的ASP來獲取文件信息,它必須使用.FileSystemObjiect腳本對象來查詢文件的有關信息。但在ASP.NET中,.FileSystemObject被System.IO 名稱空間取代了,在.System.IO中,它包含了很多獲取文件系統信息的類。其中的一個類就是FileInfo,它裡面有我們在任何時候都想知道的關於文件的信息。使用這個類(原文使用的是Object),我們可以完全得到文件的許多信息(在這裡,我們使用文件自身)。並且使用FileInfo還可以完成對文件的其他一些操作,比如備份、重命名等。
按照慣例,我們先看代碼:
fileinfo.aspx
<%@ Page Language="c#" %>
<script runat="server">
protected System.IO.FileInfo objFI;
protected String filename;
protected void Page_Load(){
if(!IsPostBack){
// 取得文件路徑
filename = Request.ServerVariables["PATH_TRANSLATED"];
// 創建objFI對象
objFI = new System.IO.FileInfo(filename);
// 文件信息
fullname.Text = objFI.FullName;
name.Text = objFI.Name;
size.Text = objFI.Length.ToString();
created.Text = objFI.CreationTime.ToString();
accessed.Text = objFI.LastAccessTime.ToString();
modified.Text = objFI.LastWriteTime.ToString();
directory.Text = objFI.DirectoryName;
extension.Text = objFI.Extension;
}
}
</script>
<HTML>
<HEAD>
<link type="text/css" rel="stylesheet" href="http://aspalliance.com/stevesmith/include/ss.css" /></head>
</HEAD>
<BODY>
<form runat="server">
<b>File Information</b>
<table class="articlelist">
<tr>
<td class="header">Full Name</td>
<td>
<asp:Label id="fullname" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Name</td>
<td>
<asp:Label id="name" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Extension</td>
<td>
<asp:Label id="extension" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Size</td>
<td>
<asp:Label id="size" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Created</td>
<td>
<asp:Label id="created" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Modified</td>
<td>
<asp:Label id="modified" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Accessed</td>
<td>
<asp:Label id="accessed" runat="server"/>
</td>
</tr>
<tr>
<td class="header">Parent Folder</td>
<td>
<asp:Label id="directory" runat="server"/>
</td>
</tr>
</table>
</form>
</BODY>
</HTML>
這段代碼非常的淺顯,大家很容易就能看明白。首先我們將文件(fileinfo.aspx)的路徑賦給變量filename,下一步創建objFI對象,取得我們需要的各屬性。通過以上操作,FileInfo類的所有公共屬性就可被我們操作了,主要包括以下屬性:
創建日期,路徑,擴展名,全名,最後訪問時間,修改時間,大小(bytes),文件名
這樣,我們就可以把文件的屬性賦給Label控件的Text,把他們顯示出來。