在ASP.NET中获取文件属性

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

时间: 2025-01-14 13:04:21

在ASP.NET中获取文件属性的相关文章

如何在ASP.NET中获取随机生成的cookie加密与验证密钥

asp.net|cookie|加密|随机     本文是从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题的补充,通过示例代码说明如何通过反射在ASP.NET 1.1与ASP.NET 2.0中获取随机生成的cookie加密与验证密钥.ASP.NET 1.1示例代码:            object machineKeyConfig = HttpContext.Current.GetConfig("system.web/machineKey");    

ASP.NET中获取URL重写前的原始地址

在ASP.NET中,如果你使用了URL重写,通过HttpContext.Request获取到的是重写后的地址.如果这个地址要返回给客户端(比如Redirect),我们一般希望是重写前的友好地址. 通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是重写后的地址,这虽然不影响

ASP.net中获取客户端参数操作系统信息

 这篇文章主要介绍了ASP.net中如何获取客户端参数或操作系统信息,需要的朋友可以参考下  代码如下: /// <summary>  /// 获取用户操作系统信息  /// </summary>  /// <returns></returns>  public string GetUserOS()  {  string strSysVersion = "其他";  HttpRequest Request = HttpContext.Cu

ASP.NET中获取URL重写前的原始地址详解

在ASP.NET中,如果你使用了URL重写,通过HttpContext.Request获取到的是重写后的地址.如果这个地址要返回给客户端(比如Redirect),我们一般希望是重写前的友好地址.   通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当 前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是 重写后的地址,这虽

在ASP.NET中获取参数POST和GET方式提交的参数

< form id="form1" method="get" runat="server"> < div> 你的名字< asp:TextBox ID="name" runat="server">< /asp:TextBox>< br /> < br /> 你的网站< asp:TextBox ID="website&quo

dojo从asp.net中获取json数据

搞来有搞去终于有了个结果,主要是一开始犯了一些低级错误. 对于json不太了解的童鞋,可以看看这个:http://www.dreamdu.com/blog/2008/10/19/json_in_javascript/ 这个例子中主要是从数据库中读取数据,转换成JSON格式,传递给前端,废话少说上代码: protected void Page_Load(object sender, EventArgs e) { string b = Request["callback"]; string

ASP.NET中获取URL重写前的原始地址详解_实用技巧

通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是重写后的地址,这虽然不影响正常使用,但从用户体验及URL统一的角度,我们更希望是重写前的地址. 之前,我们在开发中也被这个问题困扰,只能尽量通过js重定向至登录页面(通过location.href获取当前网址)或者在代码中

asp.net中获取新增加记录的ID Access版_实用技巧

这里参考了Erist.Protal里的代码 复制代码 代码如下: /// <summary> /// 增加新的文章 /// </summary> /// <param name="ArticleTitle"></param> /// <param name="Author"></param> /// <param name="ArticleFrom"></p

Windows批处理中获取文件属性的一些方法_DOS/BAT

windows的batchfile可以有%0-%9参数,其中%0默认表示batchfile的全路径,%1-%9为用户的传入参数. 以下特殊标记可以用来获得文件的属性,如果对%0使用特殊标记,表示获得batachfile的相关属性,如果%1-%9中某个%*是个文件的路径,也可以使用如下特殊标记来获得%*表示文件的相关属性. 例如:D:\testfolder\test.bat 复制代码 代码如下: echo off echo path name: echo %1 echo fully qualifi