• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

.net实例:基于ASP.NET与XML的网络硬盘开发(2)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

创建文件夹及设置访问权限
  
    在当前路径下输入新文件夹名称来创建新文件夹,通过调用.net的IO名字空间中的类库Directory方法来实现该操作:Directory.CreateDirectory(string directory),字符串directory表示新建文件夹的完整路径,该方法默认向所有用户开放新文件夹的完全读写访问权限。对于网络硬盘共享根文件夹可手动进行创建,并设置写入权限,通过执行"internet信息服务"的"权限向导"来设置访问权限,可以设置密码来指定是否允许用户进入该文件夹以及是否允许用户删除该文件夹。此外,为了管理这些文件夹,需要保留相关设置信息:如文件夹名、位置、受限操作类型、密码及创建者等。将这些信息写入XML文件,随后通过读写该XML文件来实现对文件夹的相关操作。
  
  Public void CreateXmlOrAddFrag (string xmlFullPath, string folderFullPath, string owner, string password, int type){
   XmlDocument xmlDoc=new XmlDocument();
   string xml="";
   String xmlNode="<character>";
   XmlNode+="<full Path>";
   XmlNode+=folderFullPath;
   XmlNode+="</full Path>";
   XmlNode+="<owner>";
   XmlNode+=owner;
   XmlNode+="</owner>";
   xmlNode+="<password>";
   xmlNode+=password;
   xmlNode+="</password>";
   xmlNode+="<type>";
   xmlNode+=type;
   xmlNode+="</type>";
   xmlNode+="</character>";
   if(!File.Exists(xmlFullPath)){//若不存在则创建xml存储文件
    xml="<?xml version=’1.0’ encoding=’gb2312’?>";
    xml+="<folder>";
    xml+=xmlNode;
    xml+="</folder>";
    xmlDoc.LoadXml(xml);
    xmlDoc.Save(xmlFullPath);//存储文件
   }
   else{//存在xml存储文件则添加新的文档片段
    xmlDoc.Load(xmlFullPath);
    XmlDocumentFragment docFrag=xmlDoc.CreateDocumentFragment();//文档片元素节点
    docFrag.InnerXml=xmlNode;
    XmlNode currNode=xmlDoc.DocumentElement;//获取文档根节点
    currNode.InsertBefore(docFrag,currNode.FirstChild);//插入文档片段
    xmlDoc.Save(xmlFullPath);//存储改变内容
   }
  }
  
    其中,参数fileFullPath是存储文件夹信息的XML文件路径,folderFullPath是此新文件夹路径,owner是创建者名,password是密码,type表示限制操作的类型("0"表示进入受限,"1"表示删除受限)。程序首先判断存储文件夹信息的文件是否存在,不存在则动态创建文件,之后新建文件夹时,只需添加文档片段即可。这里,对XML文件的读写通过文档对象模型DOM实现,由于此处XML文件不会很大,因此对内存资源要求不会太高,速度会很快


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net字符串反序列化发布时间:2022-07-10
下一篇:
ASP.NETMVC3系列教程-Razor视图引擎基础语法发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap