在ASP.NET中擷取檔案屬性
來源:互聯網
上載者:User
asp.net 在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,把他們顯示出來。
翻譯:CNet