using System;
using System.Text;
using System.Xml;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Configuration;
using System.IO;

namespace my.IO
...{
/**//// <summary>
/// 公用帮助文件处理类
/// </summary>
public class FileHelper
...{
/**//// <summary>
/// 构造函数
/// </summary>
private FileHelper()
...{
}

上传文件#region 上传文件

/**//// <summary>
/// 上传文件
/// </summary>
/// <param name="inputFile">html上传控件</param>
/// <param name="uploadDirectory">上传到服务器目录</param>
/// <param name="limitSite">上传文件大小限制(单位:字节)</param>
/// <param name="fileName">输出文件名</param>
/// <returns>返回操作逻辑值</returns>
public static bool SaveAccessory(HtmlInputFile inputFile, string uploadDirectory, int limitSite,out string fileName)
...{
string acc = inputFile.PostedFile.FileName;//文件及路径名
string accessory = string.Empty; //记录文件名
fileName = string.Empty; //输出文件名
if(inputFile.PostedFile.ContentLength > limitSite)
...{
System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('上传文件限制最大为"+Convert.ToString(limitSite/1024)+"k');history.back(-1);</script>");
System.Web.HttpContext.Current.Response.End();
return false;
}
else
...{
if(acc.Trim().Length > 0)
...{
//将新文件名以GUID重命名
accessory = System.Guid.NewGuid().ToString() +"."+ GetFileType(acc);
if(!System.IO.Directory.Exists(uploadDirectory))
...{
System.IO.Directory.CreateDirectory(uploadDirectory);
}
string access= uploadDirectory + accessory;
try
...{
inputFile.PostedFile.SaveAs(access);
fileName = accessory;
return true;
}
catch (Exception)
...{
return false;
}
}
}
return false;
}

/**//// <summary>
/// 上传文件
/// </summary>
/// <param name="inputFile">html上传控件</param>
/// <param name="uploadDirectory">上传到服务器目录</param>
/// <param name="fileName">输出文件名</param>
/// <param name="fileType">文件类型</param>
/// <returns>返回操作逻辑值</returns>
public static bool SaveFiles(HtmlInputFile inputFile, string uploadDirectory,string fileName,ref string fileType)
...{
string upFile = inputFile.PostedFile.FileName;//文件及路径名
if(upFile.Trim().Length > 0)
...{
if(!System.IO.Directory.Exists(uploadDirectory))
...{
System.IO.Directory.CreateDirectory(uploadDirectory);
}
fileType = System.IO.Path.GetExtension(upFile);
fileName = uploadDirectory + "/" + fileName + fileType;
try
...{
inputFile.PostedFile.SaveAs(fileName);
return true;
}
catch (Exception)
...{
return false;
}
}
else
...{
System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('请选择文件');history.back(-1);</script>");
System.Web.HttpContext.Current.Response.End();
return false;
}
}


/**//// <summary>
/// 上传文件
/// </summary>
/// <param name="inputFile">html上传控件</param>
/// <param name="uploadDirectory">上传到服务器目录</param>
/// <param name="limitSite">上传文件大小限制(单位:字节)</param>
/// <param name="fileName">输出文件名</param>
/// <returns>返回操作逻辑值</returns>
public static bool SaveAccessory(HtmlInputFile inputFile, string uploadDirectory, int limitSite,string fileName)
...{
string acc = inputFile.PostedFile.FileName;//文件及路径名
uploadDirectory = System.Web.HttpContext.Current.Server.MapPath("./") + uploadDirectory;
if(inputFile.PostedFile.ContentLength > limitSite)
...{
System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('上传文件限制最大为"+Convert.ToString(limitSite/1024)+"k');history.back(-1);</script>");
System.Web.HttpContext.Current.Response.End();
return false;
}
else
...{
if(acc.Trim().Length > 0)
...{
if(!System.IO.Directory.Exists(uploadDirectory))
...{
System.IO.Directory.CreateDirectory(uploadDirectory);
}
fileName = uploadDirectory + fileName;
try
...{
inputFile.PostedFile.SaveAs(fileName);
return true;
}
catch (Exception)
...{
return false;
}
}
}
return false;
}
#endregion

/**//// <summary>
/// 修改 Web.Config 中 appSettings 节点内节点信息
/// </summary>
/// <param name="nodeName">节点名</param>
/// <param name="nodeKey">节点值</param>
/// <returns>返回操作逻辑值</returns>
public static bool SetWebConfigValue(string nodeName, string nodeKey)
...{
string filename = System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath + "/web.config");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
System.Xml.XmlNode node = xmldoc.SelectSingleNode("configuration//appSettings");
System.Xml.XmlNodeList nl = node.ChildNodes;
foreach(XmlNode el in nl)
...{
try
...{
if(el.Attributes["key"].Value == nodeName)
...{
el.Attributes["value"].Value = nodeKey;
}
}
catch
...{
}
}
try
...{
xmldoc.Save(filename);
return true;
}
catch
...{
return false;
}
}


/**//// <summary>
/// 从完整路径中提取文件名
/// </summary>
public static string GetFileName(string path)
...{
return Path.GetFileName(path);
}


/**//// <summary>
/// 新建文件
/// </summary>
public static void Create(string path)
...{
try
...{
// 如果以存在文件就删除
if (File.Exists(path))
...{
File.Delete(path);
}
//创建文件
using (FileStream fs = File.Create(path)) ...{ }
}
catch (Exception e)
...{
throw e;
}
}

/**//// <summary>
/// 重命名文件
/// </summary>
public static bool ReName(string soucePath, string newPath)
...{
try
...{
File.Move(soucePath, newPath);
}
catch
...{
return false;
}
return true;
}


/**//// <summary>
/// 移动文件
/// </summary>
public static bool Move(string fromPath, string toPath)
...{
return ReName(fromPath, toPath);
}


/**//// <summary>
/// 删除文件
/// </summary>
public static bool Delete(string path)
...{
try
...{
File.Delete(path);
}
catch
...{
return false;
}
return true;
}


/**//// <summary>
/// 获取文件扩展名
/// </summary>
public static string GetFileType(string path)
...{
string type = Path.GetExtension(path);
/**//* if (string.IsNullOrEmpty(type))
{
return type;
}
*/
return type.Substring(1);
}


/**//// <summary>
/// 返回不具有扩展名的指定路径字符串的文件名
/// </summary>
public static string GetFileNameWithoutExtension(string path)
...{
return Path.GetFileNameWithoutExtension(path);
}

/**//// <summary>
/// 判断目标文件夹是否存在
/// </summary>
/// <param name="path">文件夹路径 绝对路径 如: e:zykey</param>
/// <returns></returns>
public static bool ifdir(string path)
...{
DirectoryInfo d=new DirectoryInfo(path);
return d.Exists;
}
}
}
文件操作助手类
978

被折叠的 条评论
为什么被折叠?



