/// <summary>
/// 创建新文件
/// </summary>
/// <param name="parentPath">文件路径</param>
/// <param name="FileName">文件名称</param>
public void AddFile(string parentPath, string FileName)
{
parentPath = Server.MapPath(parentPath);
bool flag = !Directory.Exists(parentPath + FileName);
if (!flag)
{
HttpContext.Current.Response.Write("<script>alert('该文件以存在');history.go(-1);</script>\uFFFD");
HttpContext.Current.Response.End();
}
else
{
Directory.CreateDirectory(parentPath + FileName);
}
}
/// <summary>
/// 删除文件
/// </summary>
/// <param name="fileName">文件路径</param>
/// <param name="fileType">文件类型</param>
public void Delete(string fileurl, string fileType)
{
bool flag = fileType != "file";//判断文件的类型 file为文件 folder 为文件夹
if (!flag)
{//删除文件
flag = File.Exists(fileurl);
if (flag)
{
File.Delete(fileurl);
}
}
else
{//删除文件夹
flag = Directory.Exists(fileurl);
if (flag)
{
DirectoryInfo directoryInfo = new DirectoryInfo(fileurl);
flag = (directoryInfo.GetDirectories().Length <= 0) && (directoryInfo.GetFiles().Length <= 0);
if (!flag)
{
HttpContext.Current.Response.Write("<script>alert('请先删除文件的子文件');history.go(-1);</script>");
HttpContext.Current.Response.End();
}
else
{
Directory.Delete(fileurl);
}
}
}
}
/// <summary>
/// 获得指定文件的文件内容
/// </summary>
/// <param name="parentPath">相对路径</param>
/// <returns></returns>
public DataSet GetFileList(string parentPath)
{
DataRow row;
string filePath = parentPath;
DataSet set = new DataSet();
DataTable table = new DataTable();
table.Columns.Add("FileType");//指定文件类型 folder 为文件夹
table.Columns.Add("FileName");//文件名称
table.Columns.Add("FileIcon");//文件的图标
table.Columns.Add("FileUrl");//文件的相对路径+文件名称
table.Columns.Add("FilePath");//文件的相对路径
table.Columns.Add("FileSize");//文件大小
table.Columns.Add("FileUrlType");//文件的相对路径+文件名称+类型
DirectoryInfo info = new DirectoryInfo(HttpContext.Current.Server.MapPath(filePath));
foreach (DirectoryInfo info2 in info.GetDirectories())
{//调取文件夹
row = table.NewRow();
row["FileType"] = "folder";
row["FileName"] = info2.Name;
row["FileIcon"] = "<img src=\"Images/closedfolder.gif\" border=\"0\" />";
row["FileUrl"] = filePath + "/" + info2.Name;
row["FilePath"] = filePath;
row["FileSize"] = "";
row["FileUrlType"] = filePath + "/" + info2.Name + ";" + "folder";
table.Rows.Add(row);
}
foreach (FileInfo info3 in info.GetFiles())
{//调取文件
row = table.NewRow();
row["FileType"] = "file";
row["FileName"] = info3.Name;
row["FileIcon"] = "<img src=\"Images/FileIcon/.gif\" class=\"itemimg\" />";//根据扩展名获得Icon
row["FileUrl"] = filePath + "/" + info3.Name;
row["FilePath"] = filePath;
row["FileSize"] = (info3.Length / 0x3e8L) + "K";
row["FileUrlType"] = filePath + "/" + info3.Name + ";" + "file";
table.Rows.Add(row);
}
set.Tables.Add(table);
return set; }

C# Web对文件的管理的更多相关文章

  1. 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

    原文:在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据) 我们都知道,在asp.net中修改 ...

  2. #WEB安全基础 : HTML/CSS | 0x3文件夹管理网站

    没有头脑的管理方式会酿成大灾难,应该使用文件夹管理网站 这是一个典型的管理方法,现在传授给你,听好了 下面是0x3初识a标签里使用的网站的目录,我把它重新配置了一下

  3. ASP.NET Web API 文件產生器 - 使用 Swagger

    转帖:http://kevintsengtw.blogspot.hk/2015/12/aspnet-web-api-swagger.html Swagger 是一套 API 互動文件產生器,使用 HT ...

  4. .net中Web.config文件的基本原理及相关设置

    11.7  使用web.config配置文件 Web配置文件web.config是Web 应用程序的数据设定文件,它是一份 XML 文件,内含 Web 应用程序相关设定的 XML 标记,可以用来简化  ...

  5. HTTP 错误 500.19 – Internal Server Error web.config 文件的 system.webServer/httpErrors 节中不允许绝对物理路径“C:\inetpub\custerr”[转]

    给ASP或者ASP.NET等需要配置IIS服务器的过程中,很可能会遇到以下两种错误.尤其是用Win7系统的,配置IIS7.0版本比用XP系统配置IIS5.1版本而言要复杂复杂一些.当同时需要配置ASP ...

  6. 容器加載Web工程的Web.xml文件介紹

    转 容器加載Web工程的Web.xml文件介紹 [-] 这篇文章主要是综合网上关于webxml的一些介绍希望对大家有所帮助也欢迎大家一起讨论 ---题记 一            Webxml详解 一 ...

  7. web大文件上传(web应用---SSH框架)

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  8. Spring整合Hibernate的XML文件配置,以及web.xml文件配置

    利用Spring整合Hibernate时的XML文件配置 applicationContext.xml <?xml version="1.0" encoding=" ...

  9. 七牛云存储的 Javascript Web 前端文件上传

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,七牛云存储的 Web 前端文件上传 七牛是不错的云存储产品,特别是有免费的配额可 ...

随机推荐

  1. 解决 jsp:include 引用文件时出现乱码的问题

    阐述问题前,先来看一下下面这张图片左侧iframe中的乱码页面: 这个就是让我纠结好一阵子的乱码截图: 这个乱码页面中是使用了<jsp:include>引用标签后出现了这个问题: 源码截图 ...

  2. 【错排问题】【HDU2048】神、上帝以及老天爷

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  3. 实现接口IDisposable的示例

    想使用using(...), 如: using (Getter process = new Getter()) { //... } 就必须给类实现接口IDisposable public sealed ...

  4. PHP学习笔记五【方法】

    <?php $num1=34; $num2=90; $oper="+"; $res=0; switch($oper) { case "+": $res=$ ...

  5. sublime text 3 快捷键大全以及配置编译环境(转)

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期 坚持使用并熟悉这些常用的快捷 ...

  6. 学习asp.net比较完整的流程

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...

  7. B - A + B Again

    Description There must be many A + B problems in our HDOJ , now a new one is coming.         Give yo ...

  8. Q - 密码(第二季水)

    Description 网上流传一句话:"常在网上飘啊,哪能不挨刀啊-".其实要想能安安心心地上网其实也不难,学点安全知识就可以.         首先,我们就要设置一个安全的密码 ...

  9. visual studio无法输入密匙解决方法

    控制面板->程序和功能->修复/卸载(更改),当到输入密匙界面运行程序,即可出现密匙输入框. 所用程序网上搜索:CrackVS2008ForWindows7

  10. hdu 5823 color II 状压dp

    题目链接 给n个点 n<=18. 然后给出它们两两之间是否有边相连. 问你这个图的所有子集,最少要用多少种颜色来染色, 如果两个点相连, 那么这两个点不能染同样的颜色. 先预处理出所有的点独立集 ...