评论(0)

Asp.net结合Xml开发网络硬盘

2008-03-06 09:35 CSDN java060515 A+

  网络硬盘实现的功能

  我们的网络硬盘实现了以下功能:

  1、查看文件夹内容
  2、创建新文件夹同时可设置访问权限
  3、文件夹间的跳转:进入下一级,返回上一级
  4、上传文件到指定文件夹
  5、下载文件到本机或在线查看文件内容
  6、删除文件或文件夹

  开发细节及技术关键点

  1、查看文件夹内容:程序一开始将进入指定的根文件夹(如\NetHard),这个文件夹下的内容将通过数据绑定控件(DataGrid)来列表显示,包括以下方面:类别(区别文件夹或文件)、名称、权限(是否允许进入文件夹?是否可以下载文件?)、删除(是否允许删除文件或文件夹?)以及针对文件夹的创建者。这里,由于文件夹中内容动态变化(你不知道什么时候就有用户传送了文件或新建了文件夹或删除了它们),我们通过动态创建数据表DataTable来读取指定文件夹下的内容, 然后作为数据源与显示控件DataGrid绑定,这样,数据的显示就总是适时的。创建动态表的函数如下: public DataTable Bind(string fullFolderPath)//创建数据表读取文件夹内容

  {
  //以下是动态创建数据表的方法
  DataTable dt=new DataTable();
  DataRow dr;
  //首先创建数据表结构
  dt.Columns.Add(new DataColumn("type",System.Type.GetType("System.String"))); //类型
  dt.Columns.Add(new DataColumn("name",System.Type.GetType("System.String"))); //名称
  dt.Columns.Add(new DataColumn("action",System.Type.GetType("System.String"))); //操作
  dt.Columns.Add(new DataColumn("owner",System.Type.GetType("System.String"))); //创建人
  //为每一行填充数据
  foreach(string d in Directory.GetFileSystemEntries(fullFolderPath)){
  dr=dt.NewRow(); //建新行
  string[] parts=d.Split(new char[]{'\\'});
  string txt=parts[parts.Length-1]; //取最后一部分的字符串,它将可能是文件名或文件夹
  dr[1]=txt; //名称name
  if(File.Exists(d))//如果是文件
  {
  dr[0]="文件"; //类型type
  int pos=currFullPath.IndexOf("NetHard");
  string relaUrl=currFullPath.Substring(pos);
  string
  url="
http://10.80.50.1/SharedSpace/"+relaUrl+"/"+txt; //
  10.80.50.1为作者服务器地址,你应该将它修改为你所在服务器地址
  dr[2]="下载";
  }
  else if(Directory.Exists(d)){//如果是文件夹
  dr[0]="文件夹"; //type类型
  string password=GetFolderPassword(d); //取得文件夹密码信息
  int type=GetFolderLimitType(d);
  if((password!="no")&&(type!=1))
  dr[2]="href=PasswordValidate.aspx?path="+d+">密封"; //操作action
  else
  dr[2]="进入"; //操作action
  dr[3]=GetFolderOwner(d); //取文件夹创建者名
  }
  else
  Response.Write("");
  dt.Rows.Add(dr); //添加行
  return dt; //返回数据表
  }

打开客户端,无广告困扰,阅读更专注

热门新闻

你只用微信来聊天?微信能干的这些事你都知道么

你只用微信来聊天?微信能干的这些事你都知道么

联络聊天 32

你可能是正版的受害者!谈谈正版游戏的坑爹事

你可能是正版的受害者!谈谈正版游戏的坑爹事

观点评论 48

阴阳师手游黑童子御魂最强搭配攻略

阴阳师手游黑童子御魂最强搭配攻略

游戏攻略 0

王者荣耀第七期体验服申请时间预告 第七期体验

王者荣耀第七期体验服申请时间预告 第七期体验

游戏攻略 2

年度最性感游戏!《尼尔:机械纪元》销量破百万

年度最性感游戏!《尼尔:机械纪元》销量破百万

业界新闻 9

炉石传说龙战卡组推荐 不带新卡依然强势

炉石传说龙战卡组推荐 不带新卡依然强势

游戏攻略 2

目睹只存在传说中的建筑!好玩的虚拟建筑App

目睹只存在传说中的建筑!好玩的虚拟建筑App

Android资讯 2

王者荣耀马可波罗怎么玩?马可波罗出装攻略

王者荣耀马可波罗怎么玩?马可波罗出装攻略

游戏攻略 0

王者荣耀体验服资格申请时间表 持续更新中

王者荣耀体验服资格申请时间表 持续更新中

游戏攻略 1

阴阳师现世召唤阵图片ssr概率最高时间点

阴阳师现世召唤阵图片ssr概率最高时间点

游戏攻略 0

推荐内容