asp.net 浏览服务器文件
生活随笔
收集整理的這篇文章主要介紹了
asp.net 浏览服务器文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.csharpwin.com/dotnetspace/12018r482.shtml
前臺文件file.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="file.aspx.cs" Inherits="file" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無標題頁</title> </head> <body> <form id="form1" runat="server"> <div> <table width="100%" border="0" cellspacing="0"> <tr> <td height="60" colspan="2" align="center" bgcolor="#CCCCCC">文件管理器</td> </tr> <tr> <td height="25">當前路徑: <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label></td> <td width="200"> <span style="color: crimson"><strong>返回上一層</strong></span><asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/ZA012330292052.gif" OnClick="ImageButton1_Click" /></td> </tr> <tr> <td colspan="2" style="height: 65px"> <asp:Table ID="Table1" runat="server"> </asp:Table> </td> </tr> </table> </div> </form> </body> </html>CS文件
public partial class file : System.Web.UI.Page { public string fpath; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["fpath"] == null) { fpath = Server.MapPath("."); this.Label2.Text = fpath; BindFile(fpath); } else { fpath = Server.UrlDecode(Request.QueryString["fpath"].ToString()); this.Label2.Text=fpath; BindFile(fpath); } } } /// <summary> /// /// </summary> /// <param name="fpath"></param> protected void BindFile(string path) { TableCell td; TableRow tr; tr = new TableRow(); td = new TableCell(); td.Text = "文件名"; td.Width=300; td.BackColor = Color.Aqua; tr.Cells.Add(td); td = new TableCell(); td.Text = "大小"; td.Width = 100; td.BackColor = Color.Aqua; tr.Cells.Add(td); td = new TableCell(); td.Text = "類型"; td.Width = 100; td.BackColor = Color.Aqua; tr.Cells.Add(td); td = new TableCell(); td.Text = "發布時間"; td.Width = 200; td.BackColor = Color.Aqua; tr.Cells.Add(td); td = new TableCell(); td.Text = "操作"; td.Width = 100; td.BackColor = Color.Aqua; tr.Cells.Add(td); Table1.Rows.Add(tr); string fname; string ftype; string ftime; string fsize; HyperLink hlink; string url; DirectoryInfo di = new DirectoryInfo(path); foreach(FileSystemInfo fsi in di.GetFileSystemInfos()) { if (fsi is FileInfo)//如果是文件 { FileInfo fi = (FileInfo)fsi; fname = fi.Name; if (fi.Extension.Length < 1)//如果擴展名小于一 { ftype = ""; } else { ftype = fi.Extension.Remove(0, 1); } fsize = fi.Length.ToString(); ftime = fi.LastWriteTime.ToString(); } else //如果是文件夾 { di = (DirectoryInfo)fsi; fname = di.Name; ftype = "文件夾"; fsize = ""; ftime = di.LastWriteTime.ToString(); } tr = new TableRow(); td = new TableCell(); td.Controls.Add(new LiteralControl(fname)); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(ftype)); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(fsize)); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(ftime)); tr.Cells.Add(td); if (fsi is DirectoryInfo) { hlink = new HyperLink(); hlink.Text = "打開"; url = Server.UrlEncode(fpath); hlink.NavigateUrl = "file.aspx?fpath=" + url + "\\" + fname; td = new TableCell(); td.Controls.Add(hlink); tr.Cells.Add(td); } else { hlink = new HyperLink(); hlink.Text = "編輯"; url = Server.UrlEncode(fpath); hlink.NavigateUrl = "edit.aspx?fpath=" + url + "\\" + fname; td = new TableCell(); td.Controls.Add(hlink); tr.Cells.Add(td); } Table1.Rows.Add(tr); } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (fpath != Label2.Text.ToString()) { string rootdir = Directory.GetParent(Label2.Text).FullName; fpath = rootdir; this.Label2.Text = fpath; BindFile(fpath); } } }注意需要引入對應的命名空間: 關于對文件處理和編輯這里不就敘述了.基本原理是利用IO打開傳過來文件的路徑的文件 然后編輯后保存就可以了
一個簡單的文件瀏覽器就做好了 可以瀏覽服務器上的文件
最后效果:
?
總結
以上是生活随笔為你收集整理的asp.net 浏览服务器文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3DMed
- 下一篇: ADO.NET- 基础总结及实例