设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> ASP.NET实例 >> Asp.net+Xml开发网络硬盘
精品推荐
ASP.NET实例点击TOP10
·ASP.NET 程序中常用的三十三种代码
·设计ASP.NET新闻管理系统
·C#版的网站新闻发布系统
·利用ASP.NET构建网上考试系统
·ASP.NET的实时天气及24小时天气预报(C#)
·基于css样式绑定的样式驱动式AJAX程序开发(.net实现)
·ASP.NET里常用的JS
·用ASP.NET和XML做的新闻系统
·自己写的一个图形验证码页面(Asp.Net2.0通过)
·Asp.net+Xml开发网络硬盘
网络编程点击TOP10
·ASP.NET 程序中常用的三十三种代码
·CHK文件恢复工具
·.NET 初 级 读 本
·c#操作word表格
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·我的.NET书架 (入门篇)
·从零开始学ASP.NET(基础篇)
·十天学会ASP.net之第一天
·用C#实现木马程序
·官方水晶报表 .NET 应用程序实例下载 (C#、Visual C++.NET)
精选专题

Asp.net+Xml开发网络硬盘

作者: 来源:http://www.xgdown.com/ 时间:2005-11-5 0:25:12

Asp.net+Xml开发网络硬盘(2) {
//以下是动态创建数据表的方法
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]="<a href="+url+" target=_blank"+">下载</a>";
}
else if(Directory.Exists(d)){//如果是文件夹
dr[0]="文件夹";//type类型
string passWord=GetFolderPassword(d);//取得文件夹密码信息
int type=GetFolderLimitType(d);
if((password!="no")&&(type!=1))
dr[2]="<a
href=PasswordValidate.aspx?path="+d+">密封</a>";//操作action
else
dr[2]="<a href=Default.aspx?path="+d+">进入</a>";//操作action
dr[3]=GetFolderOwner(d);//取文件夹创建者名
}
else
Response.Write("<script>alert('无对象可绑定!')</script>");
dt.Rows.Add(dr);//添加行
return dt;//返回数据表
}
}

这个方法取出指定文件夹下的内容分别处理:如果是文件,就显示"下载"链接指向服务器上文件的Url地址;对文件夹需要视保护与否及保护类型进一步区别处理:若"进入受限"则显示"密封"导入到密码验证页,"进入不受限"时修改查询字符串,显示"进入"链接指向初始显示页。

2、创建新文件夹及设置访问权限:

输入新文件夹名后,你就可以在当前路径下创建新的文件夹,Asp.net下远程创建新文件夹和在本地机操作完全一样,非常的简单,.Net的IO名字空间提供了专门的类库Directory,通过调用其方法就可以实现,语句如下:

Directory.CreateDirectory(string directory)

其中,字符串directory表示新建文件夹的完整路径,这个方法默认向所有用户开放新文件夹的完全读写访问权限。特殊地,对网络硬盘共享根文件夹(程序中示例为"NetHard"文件夹,你可以更改它)的创建你还可以手动进行,对应地,你需要手动设置以开放此文件夹的写入权限,在IIS下,你可以在"internet信息服务"下,对该文件夹执行"权限向导"来设置访问权限。

资源共享时应该考虑安全性。这里,你可以设置用户对该文件夹的访问权限,通过设置密码,你可以指定是否允许用户进入该文件夹,是否允许删除该文件夹,或者两者都禁止。这样,你可以保护自己的文件,将它们独占访问或者限制在一个特定的范围内(这个范围的成员应该知道你的密码),这样,产品研发部门可以共用一个文件夹,财务部门也通过同样的方式共用另一个文件夹,不属于这个部门的人员将限制访问。当然,这样的限制你也可以应用到单个文件上(这样的应用似乎不多,程序未实现)。

此外,为了管理这些文件夹,你需要保留它们的设置信息:文件夹名、位置、受限操作类型、密码及创建人等。程序中将这些信息写入一Xml文件(此为folder.xml文件),随后对文件夹的各种管理操作均通过读写该xml文件来进行,以下方法就实现了新建文件夹时设置信息的存储:

public void CreateXmlOrAddFrag(string xmlFullPath,string

共5页 9 7 [1] [2] [3] [4] [58 :>

Asp.net+Xml开发网络硬盘 相关文章:
Asp.net+Xml开发网络硬盘 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com