![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 删除字符串尾部的回车/换行/空格
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string RTrim(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
for (int i = str.Length; i >= 0; i--)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (str[i].Equals(" ") || str[i].Equals("\r") || str[i].Equals("\n"))
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
str.Remove(i, 1);
}
}
return str;
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 返回文件是否存在
/// </summary>
/// <param name="filename">文件名</param>
/// <returns>是否存在</returns>
public static bool FileExists(string filename)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return System.IO.File.Exists(filename);
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 以指定的ContentType输出指定文件文件
/// </summary>
/// <param name="filepath">文件路径</param>
/// <param name="filename">输出的文件名</param>
/// <param name="filetype">将文件输出时设置的ContentType</param>
public static void ResponseFile(string filepath, string filename, string filetype)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Stream iStream = null;
![](/Images/OutliningIndicators/InBlock.gif)
// 缓冲区为10k
byte[] buffer = new Byte[10000];
![](/Images/OutliningIndicators/InBlock.gif)
// 文件长度
int length;
![](/Images/OutliningIndicators/InBlock.gif)
// 需要读的数据长度
long dataToRead;
![](/Images/OutliningIndicators/InBlock.gif)
try
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// 打开文件
iStream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
// 需要读的数据长度
dataToRead = iStream.Length;
![](/Images/OutliningIndicators/InBlock.gif)
HttpContext.Current.Response.ContentType = filetype;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Utils.UrlEncode(filename.Trim()).Replace("+", " "));
![](/Images/OutliningIndicators/InBlock.gif)
while (dataToRead > 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// 检查客户端是否还处于连接状态
if (HttpContext.Current.Response.IsClientConnected)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
length = iStream.Read(buffer, 0, 10000);
HttpContext.Current.Response.OutputStream.Write(buffer, 0, length);
HttpContext.Current.Response.Flush();
buffer = new Byte[10000];
dataToRead = dataToRead - length;
}
else
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// 如果不再连接则跳出死循环
dataToRead = -1;
}
}
}
catch (Exception ex)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
HttpContext.Current.Response.Write("Error : " + ex.Message);
}
finally
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (iStream != null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// 关闭文件
iStream.Close();
}
}
HttpContext.Current.Response.End();
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 判断文件名是否为浏览器可以直接显示的图片文件名
/// </summary>
/// <param name="filename">文件名</param>
/// <returns>是否可以直接显示</returns>
public static bool IsImgFilename(string filename)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
filename = filename.Trim();
if (filename.EndsWith(".") || filename.IndexOf(".") == -1)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return false;
}
string extname = filename.Substring(filename.LastIndexOf(".") + 1).ToLower();
return (extname == "jpg" || extname == "jpeg" || extname == "png" || extname == "bmp" || extname == "gif");
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// MD5函数
/// </summary>
/// <param name="str">原始字符串</param>
/// <returns>MD5结果</returns>
public static string MD5(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
byte[] b = Encoding.Default.GetBytes(str);
b = new MD5CryptoServiceProvider().ComputeHash(b);
string ret = "";
for(int i = 0; i < b.Length; i++)
ret += b[i].ToString("x").PadLeft(2,'0');
return ret;
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// SHA256函数
/// </summary>
/// /// <param name="str">原始字符串</param>
/// <returns>SHA256结果</returns>
public static string SHA256(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
byte[] SHA256Data = Encoding.UTF8.GetBytes(str);
SHA256Managed Sha256 = new SHA256Managed();
byte[] Result = Sha256.ComputeHash(SHA256Data);
return Convert.ToBase64String(Result); //返回长度为44字节的字符串
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 检测是否符合email格式
/// </summary>
/// <param name="strEmail">要判断的email字符串</param>
/// <returns>判断结果</returns>
public static bool IsValidEmail(string strEmail)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return Regex.IsMatch(strEmail, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
![](/Images/OutliningIndicators/None.gif)
public static bool IsValidDoEmail(string strEmail)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return Regex.IsMatch(strEmail, @"^@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 检测是否是正确的Url
/// </summary>
/// <param name="strUrl">要验证的Url</param>
/// <returns>判断结果</returns>
public static bool IsURL(string strUrl)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return Regex.IsMatch(strUrl, @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
}
![](/Images/OutliningIndicators/None.gif)
public static string GetEmailHostName(string strEmail)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
if (strEmail.IndexOf("@") < 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return "";
}
return strEmail.Substring(strEmail.LastIndexOf("@")).ToLower();
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 替换回车换行符为html换行符
/// </summary>
public static string StrFormat(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
string str2;
![](/Images/OutliningIndicators/InBlock.gif)
if (str == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
str2 = "";
}
else
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
str = str.Replace("\r\n", "<br />");
str = str.Replace("\n", "<br />");
str2 = str;
}
return str2;
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 转换为简体中文
/// </summary>
public static string ToSChinese(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return Strings.StrConv(str, VbStrConv.SimplifiedChinese, 0) ;
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 转换为繁体中文
/// </summary>
public static string ToTChinese(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return Strings.StrConv(str, VbStrConv.TraditionalChinese, 0);
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 返回 HTML 字符串的编码结果
/// </summary>
/// <param name="str">字符串</param>
/// <returns>编码结果</returns>
public static string HtmlEncode(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return HttpUtility.HtmlEncode(str);
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 返回 HTML 字符串的解码结果
/// </summary>
/// <param name="str">字符串</param>
/// <returns>解码结果</returns>
public static string HtmlDecode(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return HttpUtility.HtmlDecode(str);
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 返回 URL 字符串的编码结果
/// </summary>
/// <param name="str">字符串</param>
/// <returns>编码结果</returns>
public static string UrlEncode(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return HttpUtility.UrlEncode(str);
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 返回 URL 字符串的编码结果
/// </summary>
/// <param name="str">字符串</param>
/// <returns>解码结果</returns>
public static string UrlDecode(string str)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
return HttpUtility.UrlDecode(str);
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 写cookie值
/// </summary>
/// <param name="strName">名称</param>
/// <param name="strValue">值</param>
/// <param name="strValue">过期时间(分钟)</param>
public static void WriteCookie(string strName, string strValue, int expires)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[strName];
if (cookie == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
cookie = new HttpCookie(strName);
}
cookie.Value = strValue;
cookie.Expires = DateTime.Now.AddMinutes(expires);
HttpContext.Current.Response.AppendCookie(cookie);
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 读cookie值
/// </summary>
/// <param name="strName">名称</param>
/// <returns>cookie值</returns>
public static string GetCookie(string strName)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies[strName] != null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return HttpContext.Current.Request.Cookies[strName].Value.ToString();
}
![](/Images/OutliningIndicators/InBlock.gif)
return "";
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// 过滤HTML中的不安全标签
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public static string RemoveUnsafeHtml(string content)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
content = Regex.Replace(content, @"(\<|\s+)o([a-z]+\s?=)", "$1$2", RegexOptions.IgnoreCase);
content = Regex.Replace(content, @"(script|frame|form|meta|behavior|style)([\s|:|>])+", "$1.$2", RegexOptions.IgnoreCase);
return content;
}
posted @
2007-12-28 20:06
LiJun027
阅读(
2541)
评论()
编辑
收藏
举报