using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Security.Cryptography;
using System.Net;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using System.Web.Mail;
using System.Collections;
using System.Data;using System.Web.UI.HtmlControls;
using System.Data.SqlClient; namespace PubClass
{
public class PubFunction
{
#region MD5加密
public string MD5(string DataStr)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(DataStr, "md5");
}
public string MD5_16(string DataStr)
{
string md5str = this.MD5(DataStr);
return md5str.Substring(8, 16);
}
#endregion #region 随机字串
/// <summary>
/// 生成指定长度的随机字串
/// </summary>
/// <param name="len">长度</param>
/// <returns>随机字串</returns>
public string GetRandomizedString(int len)
{
return this.GetRandomizedString(len, "all");
}
/// <summary>
/// 生成指定长度的随机字串
/// </summary>
/// <param name="len">长度</param>
/// <param name="codes">字串取值范围</param>
/// <returns>随机字串</returns>
public string GetRandomizedString(int len, string codes)
{
string series;
switch (codes)
{
case "number":
series = "01234567890123456789";
break;
case "lower":
series = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
break;
case "upper":
series = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
break;
case "alpha":
series = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
break;
default:
series = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
break;
}
if (len < 1) return "";
int olen = series.Length;
StringBuilder sb = new StringBuilder();
Random rnd = new Random();
for (int i = 0; i < len; i++)
{
sb.Append(series.Substring(rnd.Next(0, olen - 1), 1));
}
return sb.ToString();
}
#endregion #region 删除特定字符
/// <summary>
/// 清除字符串的非数字、字母(含下划线)和汉字字符
/// </summary>
/// <param name="txt">传入参数</param>
/// <returns>结果字串</returns>
public string delNonePassportAllowChar(string txt)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[\x00-\x2F\x3A-\x40\x5B-\x5E\x60\x7B-\xFF]");
return reg.Replace(txt, "");
}
public bool hasIllegalPassportChar(string txt)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[\x00-\x2F\x3A-\x40\x5B-\x5E\x60\x7B-\xFF]{1,}");
return reg.IsMatch(txt);
}
public string onlyAlphaAndDigit(string txt)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]");
return reg.Replace(txt, "");
}
public bool hasNoneAlphaAndDigit(string txt)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]{1,}");
return reg.IsMatch(txt);
}
#endregion #region 返回文件扩展名
/// <summary>
/// 返回文件扩展名
/// </summary>
/// <param name="filename">文件名</param>
/// <returns>小写扩展名</returns>
public string getFileExt(string filename)
{
int lidx = filename.LastIndexOf(".");
if (lidx == filename.Length - 1) return "";
string ext = "";
if (lidx > -1)
{
ext = filename.Substring(lidx + 1).ToLower();
}
return ext;
}
#endregion #region 截字处理(按字节算)
/// <summary>
/// 截字处理(按字节算)
/// </summary>
/// <param name="str">原始字串</param>
/// <param name="len">字节长度</param>
/// <returns>结果字串</returns>
public string SubStringByByte(string str, int len)
{
char[] cc = str.ToCharArray();
int i = 0, j = 0, code;
for (i = 0, j = 0; i < cc.Length && j < len; i++)
{
code = (int)cc[i];
if (code >= 0 && code <= 255)
{
j++;
}
else
{
j += 2;
}
}
if (i > 0)
{
return str.Substring(0, i);
}
else
{
return ""; }
}
public string SubStringByByte(string str, int len, bool ismore)
{
char[] cc = str.ToCharArray();
int i = 0, j = 0, code;
for (i = 0, j = 0; i < cc.Length && j < len; i++)
{
code = (int)cc[i];
if (code >= 0 && code <= 255)
{
j++;
}
else
{
j += 2;
}
}
if (i > 0)
{
if (!IsBlank(str))
{
if (CalcByteLength(str) > len)
{
return str.Substring(0, i) + "..";
}
else
{
return str.Substring(0, i);
}
}
else
{
return str.Substring(0, i); }
}
else
{
return "";
}
} /// <summary>
/// 返回字节长度
/// </summary>
/// <param name="str">计算字串</param>
/// <returns>长度</returns>
public int CalcByteLength(string str)
{
char[] cc = str.ToCharArray();
int i = 0, j = 0, code;
for (i = 0, j = 0; i < cc.Length; i++)
{
code = (int)cc[i];
if (code >= 0 && code <= 255)
{
j++;
}
else
{
j += 2;
}
}
return j;
}
#endregion #region 检测字串是否是电子邮件地址格式
/// <summary>
/// 检测字串是否是电子邮件地址格式
/// </summary>
/// <param name="email">需要检测的电子邮件地址字串</param>
/// <returns>是否是电子邮件地址格式</returns>
public bool IsEmail(string email)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
return reg.IsMatch(email);
}
#endregion #region 正则匹配检测 /// <summary>
/// 正则匹配检测
/// </summary>
/// <param name="txt">需要检测的字串</param>
/// <param name="reg">正则表达式</param>
/// <returns>结果</returns>
public bool RegIsMatch(string txt, string reg)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(reg);
return regex.IsMatch(txt);
} #endregion #region 获取字符串字节数
public int GetStringByteLength(string str)
{
char[] cc = str.ToCharArray();
int i = 0, j = 0, code;
for (i = 0, j = 0; i < cc.Length; i++)
{
code = (int)cc[i];
if (code >= 0 && code <= 255)
{
j++;
}
else
{
j += 2;
}
}
return j;
}
#endregion #region 生成以日期时间为基础的不重复数字字串
private Random rnd = new Random();
/// <summary>
/// 生成以日期时间为基础的不重复数字字串
/// </summary>
/// <returns>字串</returns>
public string getIdenticalStringBaseDateTime()
{
return DateTime.Now.ToString("yyMMddHHmm") + rnd.Next(1000, 9999).ToString();
}
/// <summary>
/// 生成以日期时间为基础的不重复数字字串
/// </summary>
/// <returns>字串</returns>
public string getIdenticalStringBaseDateTime2()
{
return DateTime.Now.ToString("yyMMddHHmmss") + rnd.Next(10000, 99999).ToString();
}
#endregion #region 生成以日期时间为基的SHA1加密字串
/// <summary>
/// 生成以日期时间为基的SHA1加密字串
/// </summary>
/// <returns>40位的加密字串</returns>
public string GetSHA1StringBasedDateTime()
{
string source = DateTime.Now.ToString("yyyyMMddHHss") + rnd.Next(10000, 99999).ToString();
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(source, "sha1");
}
#endregion #region 表单处理
/// <summary>
/// 表单处理
/// </summary>
/// <param name="str">处理字串</param>
/// <returns>结果字串</returns>
public string TextareaStringToDatabase(string str)
{
StringBuilder sb = new StringBuilder(System.Web.HttpUtility.HtmlEncode(str));
sb = sb.Replace(" ","&nbsp;");
sb = sb.Replace("\n", "<br />");
return sb.ToString();
}
public string DatabaseStringToTextarea(string str)
{
StringBuilder sb = new StringBuilder(System.Web.HttpUtility.HtmlDecode(str));
sb = sb.Replace("&nbsp;", " ");
sb = sb.Replace("<br />", "\n");
return sb.ToString();
}
#endregion #region 检测MIME字串是否是图片性质
/// <summary>
/// 检测MIME字串是否是图片性质
/// </summary>
/// <param name="mime"></param>
/// <returns></returns>
public bool testMimeIsImage(string mime)
{
if (mime.Length < 7) return false;
string begin = mime.Substring(0, 6).ToLower();
return begin == "image/";
}
#endregion #region 检测MIME字串是否是音频性质
/// <summary>
/// 检测MIME字串是否是音频性质
/// </summary>
/// <param name="mime"></param>
/// <returns></returns>
public bool testMimeIsAudio(string mime)
{
if (mime.Length < 7) return false;
string begin = mime.Substring(0, 6).ToLower();
return begin == "audio/";
}
#endregion #region 检测MIME字串是否是视频性质
/// <summary>
/// 检测MIME字串是否是礼频性质
/// </summary>
/// <param name="mime"></param>
/// <returns></returns>
public bool testMimeIsVideo(string mime)
{
if (mime.Length < 7) return false;
string begin = mime.Substring(0, 6).ToLower();
return begin == "video/";
}
#endregion #region 检测是否是支持的文件扩展名
/// <summary>
/// 检测是否是支持的文件扩展名
/// </summary>
/// <param name="ext">扩展名,如果是空字串,则默认都是不能通过检测</param>
/// <param name="extcoll">扩展句列表,用|分隔,如果是空字串,则默认都是通过检测</param>
/// <returns>结果</returns>
public bool testIsSupportFileExtent(string ext, string extcoll)
{
if (ext == "") return false;
if (extcoll == "") return true;
ext = ext.Trim().ToLower();
char[] sep = { ',' };
string[] extarr = extcoll.Split(sep);
for (int i = 0; i < extarr.Length; i++)
{
if (extarr[i].Trim().ToLower() == ext) return true;
}
return false;
}
#endregion #region 文字水印
/// <summary>
///
/// </summary>
/// <param name="page"></param>
/// <param name="path"></param>
/// <returns></returns>
public bool MakeWaterImageWord(System.Web.UI.Page page, string path, string newpath)
{
//加文字水印,
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
//System.Drawing.Image image=System.Drawing.Image.FromStream();
Graphics g = Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("Verdana", 16);
Brush b = new SolidBrush(Color.BurlyWood);
string addText = "熊猫伯伯\nhttp://www.pandabobo.cn";
try
{
g.DrawString(addText, f, b, 10, 10);
g.Dispose();
//保存加水印过后的图片,删除原始图片
string newPath = newpath;
image.Save(newPath);
image.Dispose();
if (File.Exists(path))
{
File.Delete(path);
}
return true;
}
catch
{
return false;
} }
public bool MakeWaterImageWord(System.Web.UI.Page page, string path, string newpath, System.IO.Stream stream)
{
//加文字水印,
//System.Drawing.Image image = System.Drawing.Image.FromFile(path);
System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
Graphics g = Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("Verdana", 16);
Brush b = new SolidBrush(Color.BurlyWood);
string addText = "熊猫伯伯\nhttp://www.pandabobo.cn";
try
{
g.DrawString(addText, f, b, 10, 10);
g.Dispose();
//保存加水印过后的图片,删除原始图片
string newPath = newpath;
image.Save(newPath);
image.Dispose();
if (File.Exists(path))
{
File.Delete(path);
}
return true;
}
catch
{
return false;
}
}
#endregion #region 图片水印
/// <summary>
/// 水印
/// </summary>
/// <param name="page"></param>
/// <param name="path">图片地址</param>
/// <returns></returns>
public bool MakeWaterImageTwo(string copyImgPath, string path)
{
//加图片水印
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(copyImgPath); //源图
int sWidth = image.Width;
int sHeight = image.Height;
//水印图
int wWidth = (((copyImage.Width) * (sWidth / copyImage.Width)) * 1) / 3;
int wHeight = (((copyImage.Height) * (sWidth / copyImage.Width)) * 1) / 3;
if (sHeight < (sWidth * 0.382))
{
wWidth = (((copyImage.Width) * (sHeight / copyImage.Height)) * 1) / 3;
wHeight = (((copyImage.Height) * (sHeight / copyImage.Height)) * 1) / 3;
} //make Graphics.
//Graphics g = Graphics.FromImage(image); //新建一个bmp图片
System.Drawing.Image BMP = new System.Drawing.Bitmap(sWidth, sHeight); //新建一个画板
Graphics G = System.Drawing.Graphics.FromImage(BMP); //设置高质量插值法
G.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
G.Clear(Color.Transparent); //加载原始图片
G.DrawImage(image, new Rectangle(0, 0, sWidth, sHeight)); //水印属性
float[][] matrixItems ={
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 0, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, (float)100/100f, 0},
new float[] {0, 0, 0, 0, 1}
};
ColorMatrix colorMatrix = new ColorMatrix(matrixItems);
ImageAttributes MarkAttr = new ImageAttributes();
MarkAttr.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); try
{
//G.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height,copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel,MarkAttr);
G.DrawImage(copyImage, new Rectangle(image.Width - wWidth, image.Height - wHeight, wWidth, wHeight), 8, 10, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel, MarkAttr);
image.Dispose();
if (File.Exists(path))
{
File.Delete(path);
} BMP.Save(path);
BMP.Dispose(); return true;
}
catch
{
return false;
}
} #endregion #region 图片水印 2
/// <summary>
/// 生成水印,可按左上、左下、右上、右下、居中、透明度生成文件,只对jpeg或jpg格式有效!
/// </summary>
/// <param name="sourceFile">底图</param>
/// <param name="waterMarkFile">水印图</param>
/// <param name="saveFile">要保存的文件</param>
/// <param name="local">位置:左上(1)、左下(2)、右上(3)、右下(4)、居中(5)</param>
/// <param name="alpha">透明度(1-100)</param>
/// <returns>bool,是否成功</returns>
public bool MakeWaterImage(string sourceFile, string waterMarkFile, string saveFile, int local, int alpha)
{
bool result; if (!File.Exists(sourceFile) || !File.Exists(waterMarkFile)) //如果源图或水印图不存在
return false; FileInfo fi = new FileInfo(sourceFile);
//判断文件类型是否合法
if (fi.Extension.ToLower() != ".jpg" & fi.Extension.ToLower() != ".jpeg")
return false; try
{
//原图
Bitmap sImage = new Bitmap(sourceFile);
int sWidth = sImage.Width;
int sHeight = sImage.Height; //水印图
Bitmap wImage = new Bitmap(waterMarkFile);
int wWidth = wImage.Width;
int wHeight = wImage.Height; //make Graphics.
Graphics g = Graphics.FromImage(sImage);
int x; //临时变量
int y; //监时变量
int x1 = 0; //原图和水印图的宽度差,即开始绘图的X位置
int y1 = 0; //原图和水印图的高度差,即开始绘图的Y位置
int w = 0; //生成的水印图的宽度,即结束绘图的X位置
int h = 0; //生成的水印图的高度,即结束绘图的Y位置
int al; //alpha
int rl; //Red
int gl; //Green
int bl; //Blue //校验透明度
if (alpha < 1 || alpha > 100)
al = 80;
else
al = alpha;
if (sWidth > wWidth & sHeight > wHeight) //如果源图比水印图大
{
switch (local)
{
case 1: //左上
x1 = 0;
y1 = 0;
break;
case 2: //左下
x1 = 0;
if ((sHeight - wHeight) > 0) //源图比水印图高
y1 = sHeight - wHeight;
else
y1 = sWidth;
break;
case 3: //右上
y1 = 0;
if ((sWidth - wWidth) > 0) // 源图比水印图宽
x1 = sWidth - wWidth;
else
x1 = sWidth;
break;
case 4: //右下
//计算高度
if ((sHeight - wHeight) > 0) //源图比水印图高
y1 = sHeight - wHeight;
else
y1 = sWidth;
//计算宽度
if ((sWidth - wWidth) > 0) // 源图比水印图宽
x1 = sWidth - wWidth;
else
x1 = sWidth;
break;
case 5: //居中
//计算高度
if ((sHeight - wHeight) > 0) //源图比水印图高
y1 = (sHeight - wHeight) / 2;
else
y1 = sWidth;
//计算宽度
if ((sWidth - wWidth) > 0) // 源图比水印图宽
x1 = (sWidth - wWidth) / 2;
else
x1 = sWidth;
break;
}
if ((sHeight - wHeight) > 0)
h = wHeight;
else
h = sHeight;
if ((sWidth - wWidth) > 0)
w = wWidth;
else
w = sWidth;
}
else //源图比水印图小
{
x1 = 0;
y1 = 0;
w = sWidth;
h = sHeight;
} //开始绘图
for (x = 1; x < w; x++)
{
for (y = 1; y < h; y++)
{
al = alpha;
rl = wImage.GetPixel(x, y).R;
gl = wImage.GetPixel(x, y).G;
bl = wImage.GetPixel(x, y).B;
al = 70; if (rl + 25 < 255)
rl += 25;
if (gl + 25 < 255)
gl += 25;
if (bl + 25 < 255)
bl += 25;
g.DrawEllipse(new Pen(new SolidBrush(Color.FromArgb(al, rl, gl, bl))), x1 + x, y1 + y, 1, 1);
}
}
g.Save();
sImage.Save(saveFile);
result = true;
}
catch
{
result = false;
}
return result;
} #endregion #region 图片按比例缩小到指定范围
/// <summary>
/// 图片按比例缩小到指定范围
/// </summary>
/// <param name="standard_width">标准宽度</param>
/// <param name="standard_height">标准高度</param>
/// <param name="input_ImgUrl">要处理图片路径</param>
/// <param name="out_ImgUrl">处理完毕图片路径,jpg扩展名</param>
public bool ImgLimitedSize(int standard_width, int standard_height, string input_ImgUrl, string out_ImgUrl)
{
int Reduce_Width = 0; // 缩小的宽度
int Reduce_Height = 0; // 缩小的高度 // ===通过连接创建Image对象===
System.Drawing.Image oldimage = System.Drawing.Image.FromFile(input_ImgUrl);
int oldWidth = oldimage.Size.Width;//原始宽度
int oldHeight = oldimage.Size.Height;//原始高度
System.Guid guid = oldimage.RawFormat.Guid; if (oldWidth < standard_width && oldHeight < standard_height)
{
oldimage.Dispose();
if (input_ImgUrl != out_ImgUrl)
{
System.IO.FileInfo file = new FileInfo(input_ImgUrl);
file.CopyTo(out_ImgUrl, true);
}
return true;
}
else
{
//根据目标大小调整缩小后高宽
float aimpp = (float)standard_width / (float)standard_height;
float oldpp = (float)oldWidth / (float)oldHeight;
float reducepp;
if (aimpp == oldpp)
{
Reduce_Width = standard_width;
Reduce_Height = standard_height;
}
else if (aimpp > oldpp)
{
reducepp = (float)standard_height / (float)oldHeight;
Reduce_Width = Convert.ToInt32(reducepp * oldWidth);
Reduce_Height = standard_height;
}
else
{
reducepp = (float)standard_width / (float)oldWidth;
Reduce_Width = standard_width;
Reduce_Height = Convert.ToInt32(reducepp * oldHeight);
}
} //新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(Reduce_Width, Reduce_Height); //新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
g.Clear(Color.Transparent); //按指定的高宽范围比例缩小图片
g.DrawImage(oldimage, new Rectangle(0, 0, Reduce_Width, Reduce_Height), new Rectangle(0, 0, oldWidth, oldHeight), GraphicsUnit.Pixel); try
{
ImageFormat saveformat = oldimage.RawFormat;
oldimage.Dispose();
//以原始格式保存缩略图
bitmap.Save(out_ImgUrl, saveformat);
}
catch (System.Exception e)
{
throw e;
}
finally
{
bitmap.Dispose();
g.Dispose();
}
return true;
}
#endregion #region 缩放图片到指定大小
/// <summary>
/// 缩放图片到指定大小(需要裁剪)
/// </summary>
/// <param name="standard_width">标准宽度</param>
/// <param name="standard_height">标准高度</param>
/// <param name="input_ImgUrl">要处理图片路径</param>
/// <param name="out_ImgUrl">处理完毕图片路径,jpg扩展名</param>
/// <returns>是否成功</returns>
public bool ImgFixedSize(int standard_width, int standard_height, string input_ImgUrl, string out_ImgUrl)
{
int CutX = 0;//裁剪X坐标
int CutY = 0;//裁剪Y坐标
int CutWidth;//裁剪宽度
int CutHeight;//裁剪调试 // ===通过连接创建Image对象===
System.Drawing.Image oldimage = System.Drawing.Image.FromFile(input_ImgUrl);
int oldWidth = oldimage.Size.Width;//图片原始宽度
int oldHeight = oldimage.Size.Height;//图片原始高度
System.Guid guid = oldimage.RawFormat.Guid; float aimpp = (float)standard_width / (float)standard_height;
float oldpp = (float)oldWidth / (float)oldHeight; if (aimpp == oldpp)
{
CutWidth = oldWidth;
CutHeight = oldHeight;
}
else if (aimpp > oldpp)
{
CutWidth = oldWidth;
CutHeight = Convert.ToInt32((float)standard_height * ((float)oldWidth / (float)standard_width));
CutX = 0;
CutY = (oldHeight - CutHeight) / 2;
}
else
{
CutWidth = Convert.ToInt32((float)standard_width * ((float)oldHeight / (float)standard_height));
CutHeight = oldHeight;
CutX = (oldWidth - CutWidth) / 2;
CutY = 0;
} //新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(standard_width, standard_height); //新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
g.Clear(Color.Transparent); //在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(oldimage, new Rectangle(0, 0, standard_width, standard_height), new Rectangle(CutX, CutY, CutWidth, CutHeight), GraphicsUnit.Pixel); try
{
ImageFormat saveformat = oldimage.RawFormat;
oldimage.Dispose();
//以原始格式保存缩略图
bitmap.Save(out_ImgUrl, saveformat);
}
catch (System.Exception e)
{
throw e;
}
finally
{
bitmap.Dispose();
g.Dispose();
} return true; }
#endregion #region 缩放图片到指定的宽或高
public bool ImgLimitWidthOrHeight(int standard, string input_ImgUrl, string out_ImgUrl)
{
return ImgLimitWidthOrHeight(standard, input_ImgUrl, out_ImgUrl, "width");
}
/// <summary>
/// 缩放图片到指定的宽或高
/// </summary>
/// <param name="standard">标准宽度</param>
/// <param name="input_ImgUrl">要处理图片路径</param>
/// <param name="out_ImgUrl">处理完毕图片路径</param>
/// <param name="WidthOrHeight">指定以长或宽为标准,width或height</param>
/// <returns>是否成功</returns>
public bool ImgLimitWidthOrHeight(int standard, string input_ImgUrl, string out_ImgUrl, string WidthOrHeight)
{
int Reduce_Width = 0; // 缩小的宽度
int Reduce_Height = 0; // 缩小的高度 // ===通过连接创建Image对象===
System.Drawing.Image oldimage = System.Drawing.Image.FromFile(input_ImgUrl);
int oldWidth = oldimage.Size.Width;//原始宽度
int oldHeight = oldimage.Size.Height;//原始高度
System.Guid guid = oldimage.RawFormat.Guid; float aimpp; WidthOrHeight = WidthOrHeight.ToLower().Trim();
if (WidthOrHeight == "width")
{
aimpp = (float)standard / (float)oldWidth;
Reduce_Width = standard;
Reduce_Height = (int)((float)oldHeight * aimpp);
}
else
{
aimpp = (float)standard / (float)oldHeight;
Reduce_Width = (int)((float)oldWidth * aimpp);
Reduce_Height = standard;
} //新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(Reduce_Width, Reduce_Height); //新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
g.Clear(Color.Transparent); //按指定的高宽范围比例缩小图片
g.DrawImage(oldimage, new Rectangle(0, 0, Reduce_Width, Reduce_Height), new Rectangle(0, 0, oldWidth, oldHeight), GraphicsUnit.Pixel); try
{
ImageFormat saveformat = oldimage.RawFormat;
oldimage.Dispose();
//以原始格式保存缩略图
bitmap.Save(out_ImgUrl, saveformat);
}
catch (System.Exception e)
{
throw e;
}
finally
{
bitmap.Dispose();
g.Dispose();
}
return true;
}
#endregion #region 获取图片文件长宽
/// <summary>
/// 获取图片文件长宽
/// </summary>
/// <param name="filepath">图片路径</param>
/// <returns>包含长宽数据的ArrayList</returns>
public ArrayList getImageWidthAndHeight(string filepath)
{
ArrayList arr = new ArrayList(2);
try
{
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
arr[0] = img.Width;
arr[1] = img.Height;
img.Dispose();
}
catch
{
arr[0] = -1;
arr[1] = -1;
}
return arr;
}
#endregion #region 测试图片是否超过指定大小
/// <summary>
/// 测试图片是否超过指定大小
/// </summary>
/// <param name="filepath">图片文件地址(磁盘绝对地址)</param>
/// <param name="width">指定宽</param>
/// <param name="height">指定高</param>
/// <returns>结果</returns>
public bool testImageOverSize(string filepath, int width, int height)
{
ArrayList wh = this.getImageWidthAndHeight(filepath);
int w = (int)wh[0];
int h = (int)wh[1];
if (w < 1 || h < 1)
{
return true;
}
else
{
return w > width || h > height;
}
}
#endregion #region 创建文件夹名
/// <summary>
/// 功能:创建文件名
/// 返回:文件夹名foldername
/// 编写人:简清舟
/// </summary>
/// <returns></returns>
public string CreateFolderName()
{
DateTime time = System.DateTime.Now;//取时间
string foldername = time.Year.ToString() + time.Month.ToString();//创建文件夹名
return foldername;//返回文件名
}
#endregion #region 创建文件夹
/// <summary>
/// 功能:创建文件夹
/// 参数:path是文件的路径
/// 编写人:简清舟
/// </summary>
/// <param name="path">文件路径</param>
public bool CreateFolder(string path, Page page)
{ try
{
path = page.Server.MapPath(path);//
// 检查目录是否存在
if (Directory.Exists(path))
{
//Response.Write("目录已经存在.");
return true;
} // 创建目录
DirectoryInfo di = Directory.CreateDirectory(path);
//Response.Write("目录应创建成功"); // 删除目录
//di.Delete();
//Console.WriteLine("目录已经删除.");
return true;
}
catch
{
return false;
//Response.Write("<script>alert('z8系统提示您:目录创建失败!')</script>");
} }
#endregion #region 删除HTML标签"<...>"
/// <summary>
/// 删除字串中的HTML标签
/// </summary>
/// <param name="txt">原始字串</param>
/// <returns>结果字串</returns>
public string DeleteHtmlTag(string txt)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("<[^>]{1,}>");
return reg.Replace(txt, "");
}
#endregion #region 把数字转换为以Kb或Mb或T表示的容量
/// <summary>
/// 把数字转换为以Kb或Mb或T表示的容量
/// </summary>
/// <param name="size">数字(字节)</param>
/// <returns>表示方法</returns>
public string ConvertLongToVolumeString(long size)
{
double rtnvol = 0;
if (size < 1024)
{
return size.ToString() + "Bit";
}
else if (size < 1048576)
{
rtnvol = (double)size / 1024.0;
return rtnvol.ToString("f2") + "KB";
}
else if (size < 1073741824)
{
rtnvol = (double)size / 1048576.0;
return rtnvol.ToString("f2") + "MB";
}
else if (size < 1099511627776)
{
rtnvol = (double)size / 1073741824.0;
return rtnvol.ToString("f2") + "GB";
}
else
{
rtnvol = (double)size / 1099511627776.0;
return rtnvol.ToString("f2") + "T";
}
}
#endregion #region 输出MediaPlayer播放器代码
/// <summary>
/// 输出MediaPlayer播放器代码
/// </summary>
/// <param name="url">URL</param>
/// <param name="auto">是否自动播放</param>
/// <returns>代码</returns>
public string GetMediaPlayCodes(string url, bool auto)
{
return this.GetMediaPlayCodes(url, auto, true);
} public string GetMediaPlayCodes(string url, bool auto, bool withSkin)
{
StringBuilder sbframe = new StringBuilder();
if (withSkin)
{
sbframe.Append("<table width=\"350\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td colspan=\"3\"><img src=\"player_imgs/1_13.gif\" width=\"350\" height=\"17\" /></td></tr><tr><td width=\"19\" height=\"0\"><img src=\"player_imgs/1_14.gif\" width=\"19\" height=\"210\" /></td><td style=\"width:312px;height:210px;\">{$PlayerCode}</td><td width=\"19\" align=\"right\"><img src=\"player_imgs/1_15.gif\" width=\"19\" height=\"210\" /></td></tr></table>");
sbframe.Append("<table width=\"350\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"20\" rowspan=\"4\"><img src=\"player_imgs/1_16.gif\" width=\"20\" height=\"58\" /></td><td height=\"7\" valign=\"bottom\" bgcolor=\"#999999\"></td><td width=\"17\" rowspan=\"4\"><img src=\"player_imgs/1_17.gif\" width=\"17\" height=\"58\" /></td></tr><tr><td height=\"3\" valign=\"bottom\" bgcolor=\"#FFFFFF\"></td></tr><tr><td height=\"6\" valign=\"bottom\" bgcolor=\"#FFFFFF\"><img src=\"player_imgs/1_18.gif\" width=\"313\" height=\"7\" /></td></tr><tr><td height=\"41\" background=\"player_imgs/1_27.gif\">");
sbframe.Append("<img src=\"player_imgs/pause.gif\" style=\"cursor:pointer;\" onclick=\"javascript:PlayerPause();\" />");
sbframe.Append("<img src=\"player_imgs/play.gif\" style=\"cursor:pointer;\" onclick=\"javascript:PlayerPlay();\" />");
sbframe.Append("<img src=\"player_imgs/stop.gif\" style=\"cursor:pointer;\" onclick=\"javascript:PlayerStop();\" />");
sbframe.Append("<img src=\"player_imgs/fullscreen.gif\" style=\"cursor:pointer;\" onclick=\"javascript:PlayerFullscreen();\" />");
sbframe.Append("</td></tr></table>");
}
else
{
sbframe.Append("{$PlayerCode}");
}
StringBuilder sb = new StringBuilder();
sb.Append("\n<script>\n");
sb.Append("document.write(\"<object id=\\\"mediaplayer\\\" name=\\\"mediaplayer\\\" classid=\\\"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6\\\" codebase=\\\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,1,5,217\\\" type=\\\"application/x-oleobject\\\" width=\\\"100%\\\" height=\\\"100%\\\">\");\n");
sb.Append("document.write(\"<param name=\\\"uiMode\\\" value=\\\"none\\\">\");\n");
sb.Append("document.write(\"<param name=\\\"AutoStart\\\" value=\\\"");
if (auto)
{
sb.Append("-1");
}
else
{
sb.Append("0");
}
sb.Append("\\\">\");\n");
sb.Append("document.write(\"<param name=\\\"StretchToFit\\\" value=\\\"1\\\">\");\n");
sb.Append("document.write(\"<param name=\\\"EnableContextMenu\\\" value=\\\"0\\\">\");\n");
sb.Append("document.write(\"<param name=\\\"url\\\" value=\\\"" + url + "\\\">\");\n");
sb.Append("if(!window.ActiveXObject)");
sb.Append("document.write(\"<embed id=\\\"mediaplayer2\\\" name=\\\"mediaplayer_2\\\" type=\\\"application/x-mplayer2\\\" pluginspage=\\\"http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/\\\" filename=\\\"" + url + "\\\" src=\\\"" + url + "\\\" autostart=\\\"1\\\" ShowControls=1 ShowDisplay=0 ShowStatusBar=0 autosize=0 width=\\\"100%\\\" height=\\\"100%\\\" uiMode=\\\"full\\\" StretchToFit=\\\"1\\\" EnableContextMenu=\\\"1\\\"></embed>\");\n");
sb.Append("document.write(\"</object>\");\n");
sb.Append("var _player = document.getElementById(\"mediaplayer\");\n");
sb.Append("var _controls = _player.controls;\n");
sb.Append("function PlayerPlay(){if(_player.playState == 3){return;}_controls.play();}\n");
sb.Append("function PlayerPause(){_controls.pause();}\n");
sb.Append("function PlayerStop(){_player.autoStart=false;_player.URL = _player.URL;_controls.stop();}\n");
sb.Append("function PlayerFullscreen(){if(_player.playState == 3){_player.fullscreen=true;}else{return;}}\n");
sb.Append("</script>\n");
sbframe.Replace("{$PlayerCode}", sb.ToString());
return sbframe.ToString();
} public string GetMediaPlayCodes(string url, bool auto, string mode)
{
StringBuilder sb = new StringBuilder();
sb.Append("\n<object id=\"mediaplayer\" name=\"mediaplayer\" classid=\"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,1,5,217\" type=\"application/x-oleobject\" width=\"100%\" height=\"100%\">\n");
sb.Append("<param name=\"uiMode\" value=\"" + mode.Trim() + "\">\n");
sb.Append("<param name=\"AutoStart\" value=\"");
if (auto)
{
sb.Append("-1");
}
else
{
sb.Append("0");
}
sb.Append(">\n");
sb.Append("<param name=\"StretchToFit\" value=\"1\">\n");
sb.Append("<param name=\"EnableContextMenu\" value=\"0\">\n");
sb.Append("<param name=\"url\" value=\"" + url + "\">\n");
sb.Append("<embed type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/\" filename=\"" + url + "\" src=\"" + url + "\" Name=\"mediaplayer\" autostart=\"" + auto.ToString() + "\" ShowControls=1 ShowDisplay=0 ShowStatusBar=0 autosize=0 width=\"100%\" height=\"100%\" uiMode=\"" + mode + "\" StretchToFit=\"1\" EnableContextMenu=\"0\"></embed>\n");
sb.Append("</object>\n");
return sb.ToString();
}
#endregion #region 传入一字符串,返回拼音首字母
/// <summary>
/// 传入一字符串,返回字串第一个字符的拼音首字母
/// </summary>
/// <param name="str">传入字串</param>
/// <returns>首字母</returns>
public string GetStringCapital(string str)
{
if (str.Length < 1) return "";
string _Temp = str.Substring(0, 1);
if (Convert.ToChar(_Temp) >= 0 && Convert.ToChar(_Temp) < 256) return _Temp; if (_Temp.CompareTo("吖") < 0)
{
return str;
}
if (_Temp.CompareTo("八") < 0)
{
return "A";
} if (_Temp.CompareTo("嚓") < 0)
{
return "B";
} if (_Temp.CompareTo("咑") < 0)
{
return "C";
}
if (_Temp.CompareTo("妸") < 0)
{
return "D";
}
if (_Temp.CompareTo("发") < 0)
{
return "E";
}
if (_Temp.CompareTo("旮") < 0)
{
return "F";
}
if (_Temp.CompareTo("铪") < 0)
{
return "G";
}
if (_Temp.CompareTo("讥") < 0)
{
return "H";
}
if (_Temp.CompareTo("咔") < 0)
{
return "J";
}
if (_Temp.CompareTo("垃") < 0)
{
return "K";
}
if (_Temp.CompareTo("嘸") < 0)
{
return "L";
}
if (_Temp.CompareTo("拏") < 0)
{
return "M";
}
if (_Temp.CompareTo("噢") < 0)
{
return "N";
}
if (_Temp.CompareTo("妑") < 0)
{
return "O";
}
if (_Temp.CompareTo("七") < 0)
{
return "P";
}
if (_Temp.CompareTo("亽") < 0)
{
return "Q";
}
if (_Temp.CompareTo("仨") < 0)
{
return "R";
}
if (_Temp.CompareTo("他") < 0)
{
return "S";
}
if (_Temp.CompareTo("哇") < 0)
{
return "T";
}
if (_Temp.CompareTo("夕") < 0)
{
return "W";
}
if (_Temp.CompareTo("丫") < 0)
{
return "X";
}
if (_Temp.CompareTo("帀") < 0)
{
return "Y";
}
if (_Temp.CompareTo("咗") < 0)
{
return "Z";
}
return _Temp;
}
#endregion #region 将System.Web.HttpPostedFile 转化为byte[]
/// <summary>
///函数名称:PostedFileToBytes
///函数性能功能描述:将System.Web.HttpPostedFile 转化为byte[]
///本函数调用的类与函数清单:
/// </summary>
/// <returns>byte[]</returns>
public byte[] PostedFileToBytes(System.Web.HttpPostedFile PostFile)
{
int FileSize = PostFile.ContentLength; //大小
byte[] fileContent;//实际文件的数据.
string FileType = PostFile.ContentType;//发送文件的MIME内容类型
BinaryReader AttContent = new BinaryReader(PostFile.InputStream);//获得文件的流
AttContent.BaseStream.Seek(0, SeekOrigin.Begin);
return fileContent = AttContent.ReadBytes(FileSize);//获得文件的字节流
}
#endregion #region 从路径形式的字串中提取文件名
/// <summary>
/// 从路径形式的字串中提取文件名
/// </summary>
/// <param name="path">路径</param>
/// <param name="withext">是否带扩展名</param>
/// <returns>文件名</returns>
public string GetFileName(string path, bool withext)
{
int last = path.LastIndexOf("\\");
if (last >= 0)
{
path = path.Substring(last + 1);
}
last = path.LastIndexOf(".");
if (withext || last < 0)
{
return path;
}
else
{
return path.Substring(0, last);
}
} /// <summary>
/// 从路径形式的字串中提取文件名
/// </summary>
/// <param name="path">路径</param>
/// <returns>文件名</returns>
public string GetFileName(string path)
{
return this.GetFileName(path, true);
}
#endregion #region 请求internet页面Html源码 /// <summary>
/// 请求并下载页面
/// </summary>
/// <returns>The data downloaded from the page</returns>
public string GetPageHTML(string url)
{
string m_uri = url;
WebResponse response = null;
Stream stream = null;
StreamReader reader = null; try
{
//----------返回被请求的internet上的资源---------
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m_uri);
response = request.GetResponse();
stream = response.GetResponseStream();
//------------------------------
if (!response.ContentType.ToLower().StartsWith("text/"))//如果类型不是text 就调用SaveBinaryFile写成二近制文件
{
//SaveBinaryFile(response);//写二进制文件
return null;
} string buffer = "", line; reader = new StreamReader(stream, Encoding.GetEncoding("gb2312")); while ((line = reader.ReadLine()) != null)
{
buffer += line + "\r\n";
}
return buffer;
}
//catch(WebException e)
catch
{
return "";
}
//catch(IOException e) finally
{
if (reader != null) reader.Close();
if (stream != null) stream.Close();
if (response != null) response.Close();
}
}
/// <summary>
/// 信息写入磁盘
/// </summary>
/// <param name="buffer">写入内容</param>
/// <param name="Path">写入的实际地址和完整的文件名称</param>
/// <returns></returns>
public bool SaveTextFile(string buffer, string Path)// 保存文本文件
{
if (Path == "")
return false; string filename = Path;//创建文件名和文件目录
try
{
StreamWriter outStream = new StreamWriter(filename, false, Encoding.GetEncoding("gb2312"));
//写磁盘
outStream.WriteLine(buffer);
outStream.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 生成静态页面
/// </summary>
/// <param name="url">资源页面URL地址</param>
/// <param name="htmlfileAbsPath">生成的目录html文件绝对路径</param>
/// <returns>是否生成成功</returns>
public bool GenHTML(string url, string htmlfileAbsPath, Page page)
{
try
{
string source = this.GetPageHTML(url); if (source.ToString() != "")
{
this.SaveTextFile(source, htmlfileAbsPath); return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
#endregion #region 使用正则方式替换字串
/// <summary>
/// 使用正则方式替换字串
/// </summary>
/// <param name="txt">要进行操作的字串</param>
/// <param name="reg">正则字串</param>
/// <param name="replace">替换字串</param>
/// <returns>结果字串</returns>
public string RegReplace(string txt, string reg, string replace)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(reg);
return regex.Replace(txt, replace);
}
#endregion #region IP部分保密处理
public string IPSafe(string ip)
{
int dotStart = ip.LastIndexOf(".") + 1;
if (dotStart < 1) return "未知";
int dotEnd = ip.Length;
return ip.Remove(dotStart, dotEnd - dotStart) + "*";
}
#endregion #region 读取配置节
/// <summary>
/// 读取配置节内容
/// </summary>
/// <param name="key">配置标识</param>
/// <returns>结果字串</returns>
public string GetAppsetting(string key)
{
try
{
return System.Configuration.ConfigurationSettings.AppSettings[key];
}
catch
{
return null;
}
}
#endregion #region 删除磁盘文件
/// <summary>
/// 删除磁盘文件
/// </summary>
/// <param name="Path">文件路径</param>
/// <returns></returns>
public bool DeleteFile(string Path)
{
try
{
System.IO.File.Delete(Path);
return true;
}
catch
{
return false;
}
}
#endregion #region 发送电子邮件
/// <summary>
/// 发送电子邮件
/// </summary>
/// <param name="email">收件人地址</param>
/// <param name="name">收件人姓名</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件正文</param>
public bool SendMail(string EmailSendTheme, string email, string name, string subject, string body)
{
string mailsetup = this.GetAppsetting("emailset");
string s_object;
string s_email;
string s_name;
string s_server;
string s_passport;
string s_passkey;
try
{
char[] sep = { ',' };
string[] vals = mailsetup.Split(sep); s_object = vals[0].Trim().ToLower();
//(1)表示发件人的E-Mail地址。该地址一般与使用SMTP服务器验证时所需的登录帐户相同。
s_email = vals[1].Trim();
//(2)表示发件人的名称。
s_name = vals[2].Trim();
//(3)可以忽略 EHLO/HELO 状态对你的mailserver
s_server = vals[3].Trim();
//(4)表示当邮件服务器使用SMTP发信验证时设置的登录帐户。
s_passport = vals[4].Trim();
//(5)表示当邮件服务器使用SMTP发信验证时设置的密码
s_passkey = vals[5].Trim();
}
catch
{
return false;
} switch (s_object)
{
case "jmail":
jmail.MessageClass jmail = new jmail.MessageClass();
//Logging属性,表示是否启用日志
jmail.Logging = true;
//表示屏蔽例外错误,返回FALSE或TRUE值,当值为TRUE时,表示邮件发送会忽略错误,不将错误信息返回给操作系统。
jmail.Silent = true;
jmail.Priority = 1;
jmail.Encoding = "GB2312";
//设置邮件显示的字符集,中文简体可使用utf-8
jmail.Charset = "GB2312";
jmail.ISOEncodeHeaders = false;
// 邮件主体(HTML(注意信件内链接附件的方式)) x
jmail.HTMLBody = body;
//邮件主题
jmail.Subject = subject;
//表示发件人的E-Mail地址。该地址一般与使用SMTP服务器验证时所需的登录帐户相同。
jmail.From = s_email;
//表示发件人的名称。
jmail.FromName = s_name;
//表示当邮件服务器使用SMTP发信验证时设置的登录帐户。( 身份验证 )
jmail.MailServerUserName = s_passport;
jmail.MailServerPassWord = s_passkey;
//可以忽略 EHLO/HELO 状态对你的mailserver
jmail.MailDomain = s_server;
//表示收件人的E-Mail地址。
jmail.AddRecipient(email, name, null);
bool result = jmail.Send(s_server, false);
jmail.Close();
return result;
case "cdo":
System.Web.Mail.MailMessage cdomail = new MailMessage();
cdomail.To = "\"" + HttpUtility.HtmlEncode(name) + "\"<" + email + ">";
cdomail.From = "\"" + HttpUtility.HtmlEncode(s_name) + "\"<" + s_email + ">";
cdomail.BodyEncoding = Encoding.UTF8;
cdomail.BodyFormat = MailFormat.Html;
cdomail.Priority = MailPriority.High;
cdomail.Subject = subject;
cdomail.Body = body;
SmtpMail.Send(cdomail);
return true;
case "cdo2":
MailMessage cdomail2 = new MailMessage();
cdomail2.To = email;
cdomail2.From = s_email;
cdomail2.Subject = subject;
cdomail2.Body = body;
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", "2");
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", s_server);
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout", 10);
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", s_passport);
cdomail2.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", s_passkey);
SmtpMail.Send(cdomail2);
return true;
default:
return false;
} }
#endregion #region 替换非法字符
public string Sqlstring(string str)
{
if (str != null && str != "")
{
str = str.Replace("'", "");
str = str.Replace("\"", "");
str = str.Replace(";", "");
str = str.Replace("<", "");
str = str.Replace(">", "");
str = str.Replace("(", "");
str = str.Replace(")", "");
str = str.Replace("*", "");
str = str.Replace("--", "");
str = str.Replace("select", "");
str = str.Replace("SELECT", "");
str = str.Replace("insert", "");
str = str.Replace("INSERT", "");
str = str.Replace("update", "");
str = str.Replace("UPDATE", "");
str = str.Replace("delete", "");
str = str.Replace("DELETE", "");
str = str.Replace("create", "");
str = str.Replace("CREATE", "");
str = str.Replace("drop", "");
str = str.Replace("DROP", "");
str = str.Replace("delcare", "");
str = str.Replace("DELCARE", "");
str = str.Replace("truncate", "");
str = str.Replace("TRUNCATE", "");
str = str.Replace("script", "");
str = str.Replace("SCRIPT", "");
//str = str.Replace("and", "");
//str = str.Replace("AND", "");
str = FilterXSS(str);
}
return str;
} public string Sqlstring(string str, int id)
{
if (str != null && str != "")
{
str = str.Replace("'", "’");
str = str.Replace("\"", "”");
str = str.Replace(";", ";");
str = str.Replace("<", "[");
str = str.Replace(">", "]");
str = str.Replace("(", "(");
str = str.Replace(")", ")");
str = str.Replace("*", "×");
str = str.Replace("--", "");
str = str.Replace("\r\n", "<br>");
str = str.Replace("\n", "<br>");
//str = str.Replace(" ","&nbsp;");
str = str.Replace("select", "");
str = str.Replace("SELECT", "");
str = str.Replace("insert", "");
str = str.Replace("INSERT", "");
str = str.Replace("update", "");
str = str.Replace("UPDATE", "");
str = str.Replace("delete", "");
str = str.Replace("DELETE", "");
str = str.Replace("create", "");
str = str.Replace("CREATE", "");
str = str.Replace("drop", "");
str = str.Replace("DROP", "");
str = str.Replace("delcare", "");
str = str.Replace("DELCARE", "");
str = str.Replace("truncate", "");
str = str.Replace("TRUNCATE", "");
str = str.Replace("script", "");
str = str.Replace("SCRIPT", "");
//str = str.Replace("and", "");
//str = str.Replace("AND", "");
str = FilterXSS(str);
}
return str;
}
#endregion; #region 过滤xss攻击脚本
/// <summary>
/// 过滤xss攻击脚本
/// </summary>
/// <param name="input">传入字符串</param>
/// <returns>过滤后的字符串</returns>
public string FilterXSS(string html)
{
if (string.IsNullOrEmpty(html)) return string.Empty; // CR(0a) ,LF(0b) ,TAB(9) 除外,过滤掉所有的不打印出来字符.
// 目的防止这样形式的入侵 <java\0script>
// 注意:\n, \r, \t 可能需要单独处理,因为可能会要用到
string ret = System.Text.RegularExpressions.Regex.Replace(
html, "([\x00-\x08][\x0b-\x0c][\x0e-\x20])", string.Empty); //替换所有可能的16进制构建的恶意代码
//<IMG SRC=&#X40&#X61&#X76&#X61&#X73&#X63&#X72&#X69&#X70&#X74&#X3A&#X61&_#X6C&#X65&#X72&#X74&#X28&#X27&#X58&#X53&#X53&#X27&#X29>
string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()~`;:?+/={}[]-_|'\"\\";
for (int i = 0; i < chars.Length; i++)
{
ret = System.Text.RegularExpressions.Regex.Replace(ret, string.Concat("(&#[x|X]0{0,}", Convert.ToString((int)chars[i], 16).ToLower(), ";?)"),
chars[i].ToString(), System.Text.RegularExpressions.RegexOptions.IgnoreCase);
} //过滤\t, \n, \r构建的恶意代码
string[] keywords = {"javascript", "vbscript", "expression", "applet", "meta", "xml", "blink", "link", "style", "script", "embed", "object", "iframe", "frame", "frameset", "ilayer", "layer", "bgsound", "title", "base"
,"onabort", "onactivate", "onafterprint", "onafterupdate", "onbeforeactivate", "onbeforecopy", "onbeforecut", "onbeforedeactivate", "onbeforeeditfocus", "onbeforepaste", "onbeforeprint", "onbeforeunload", "onbeforeupdate", "onblur", "onbounce", "oncellchange", "onchange", "onclick", "oncontextmenu", "oncontrolselect", "oncopy", "oncut", "ondataavailable", "ondatasetchanged", "ondatasetcomplete", "ondblclick", "ondeactivate", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "onerror", "onerrorupdate", "onfilterchange", "onfinish", "onfocus", "onfocusin", "onfocusout", "onhelp", "onkeydown", "onkeypress", "onkeyup", "onlayoutcomplete", "onload", "onlosecapture", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", "onmove", "onmoveend", "onmovestart", "onpaste", "onpropertychange", "onreadystatechange", "onreset", "onresize", "onresizeend", "onresizestart", "onrowenter", "onrowexit", "onrowsdelete", "onrowsinserted", "onscroll", "onselect", "onselectionchange", "onselectstart", "onstart", "onstop", "onsubmit", "onunload"}; bool found = true;
while (found)
{
string retBefore = ret;
for (int i = 0; i < keywords.Length; i++)
{
string pattern = "/";
for (int j = 0; j < keywords[i].Length; j++)
{
if (j > 0)
pattern = string.Concat(pattern, '(', "(&#[x|X]0{0,8}([9][a][b]);?)?", "|(&#0{0,8}([9][10][13]);?)?",
")?");
pattern = string.Concat(pattern, keywords[i][j]);
}
string replacement = string.Concat(keywords[i].Substring(0, 2), "<x>", keywords[i].Substring(2));
ret = System.Text.RegularExpressions.Regex.Replace(ret, pattern, replacement, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (ret == retBefore)
found = false;
} } return ret;
}
#endregion #region 是否空
/// <summary>是否空</summary>
/// <param name="strInput">输入字符串</param>
/// <returns>true/false</returns>
public bool IsBlank(string strInput)
{
if (strInput == null || strInput.Trim() == "")
{
return true;
}
else
{
return false;
} }
#endregion #region 是否数字
/// <summary>是否数字</summary>
/// <param name="strInput">输入字符串</param>
/// <returns>true/false</returns>
private Regex RegNumber = new Regex("^[0-9]+$");
private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");
public bool IsNumeric(string strInput)
{
if (strInput != null && strInput != "")
{
Match m = RegNumber.Match(strInput);
return m.Success;
}
else
{
return false;
} }
public bool IsDecimal(string inputData)
{
if (inputData != null && inputData != "")
{
Match m = RegNumber.Match(inputData);
if (m.Success) return m.Success; m = RegDecimal.Match(inputData);
return m.Success;
}
else
{
return false;
}
}
#endregion #region 是否日期
/// <summary>是否日期</summary>
/// <param name="strInput">输入字符串</param>
/// <returns>true/false</returns>
public bool isDate(string strInput)
{
try
{
if (strInput != null && strInput != "" && strInput.Length >= 8)
{
string s = strInput.Substring(0, 4);
if (!IsNumeric(s) || int.Parse(s) < 1900)
{
return false;
}
else
{
DateTime t = Convert.ToDateTime(strInput);
return true;
}
}
else
{
return false;
}
}
catch
{
return false;
}
}
#endregion #region 是否为合法的手机号码
/// <summary>是否为合法的手机号码</summary>
/// <param name="strInput">输入字符串</param>
/// <returns>true/false</returns>
private Regex RegMobile = new Regex(@"(^(13\d{9})$)|(^(15\d{9})$)|(^(18\d{9})$)|(^(14\d{9})$)");
public bool isMobile(string strInput)
{
if (strInput != null && strInput != "")
{
Match m = RegMobile.Match(strInput);
return m.Success;
}
else
{
return false;
}
}
#endregion #region 是否为合法的电话号码 /// <summary>是否为合法的电话号码</summary>
/// <param name="strInput">输入字符串</param>
/// <returns>true/false</returns>
private Regex RegTEL = new Regex(@"(^(\d{7,8})$)|(^(0\d{2,3}\-\d{6,8}(\-\d{1,4})?)$)");
public bool isTel(string strInput)
{
if (strInput != null && strInput != "")
{
Match m = RegTEL.Match(strInput);
return m.Success;
}
else
{
return false;
}
}
#endregion #region 邮政编码
/// <summary>
/// 是否是邮政编码
/// </summary>
/// <param name="inputData">输入字符串</param>
/// <returns></returns>
private Regex RegZip = new Regex(@"^(\d{6})$");
public bool IsZip(string inputData)
{
if (inputData != null && inputData != "")
{
Match m = RegZip.Match(inputData);
return m.Success;
}
else
{
return false;
}
} #endregion #region 是否为身份证号
/// <summary>
/// 是否为身份证号
/// </summary>
/// <param name="strInput">输入字符串</param>
/// <returns></returns>
private Regex RegIDCard = new Regex("^[1-9]([0-9]{17}|[0-9]{14}|[0-9]{16}[0-9,X,x])$");
public bool IsIDCard(string strInput)
{
if (strInput != null && strInput != "")
{
Match m = RegIDCard.Match(strInput);
return m.Success;
}
else
{
return false;
}
}
#endregion #region js脚本
public void Alert(string message, int ID)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "');history.go(" + ID + ");</Script>";
HttpContext.Current.Response.Write(js);
}
public void Alert(string message)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "');</Script>";
HttpContext.Current.Response.Write(js);
}
public void Alert(System.Web.UI.Page page, string message, int ID)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "');history.go(" + ID + ");</Script>";
page.ClientScript.RegisterStartupScript(this.GetType(), "提示", js);
}
public void Alert(System.Web.UI.Page page, string message)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "');</Script>";
page.ClientScript.RegisterStartupScript(this.GetType(), "提示", js);
}
/// <summary>
/// 弹出窗口,转向Url制定的页面
/// </summary>
/// <param name="url"></param>
public void Location(string message, string url)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "'); window.location.replace('{0}');";
js += "</Script>";
js = string.Format(js, url);
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 弹出窗口,转向Url制定的页面
/// </summary>
/// <param name="url"></param>
public void Location(System.Web.UI.Page page, string message, string url)
{
message = this.Sqlstring(message);
string js = @"<Script language='JavaScript' defer>
alert('" + message + "'); window.location.replace('{0}');</Script>";
js = string.Format(js, url);
page.ClientScript.RegisterStartupScript(this.GetType(), "提示", js);
} /// <summary>
/// 输出自定义脚本信息
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="script">输出脚本</param>
public void ResponseScript(System.Web.UI.Page page, string script)
{
page.ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' defer>" + script + "</script>");
}
#endregion #region 按字节截取字符串省略
/// <summary>
/// 获取字符串长度,中文为两个字符
/// </summary>
/// <param name="str">测试的字符串</param>
/// <returns></returns>
public int GetStrLen(string str)
{
String pattern = @"[^\x00-\xff]";
string s = Regex.Replace(str, pattern, "aa");
return s.Length;
} /// <summary>
/// 替换html代码为控件中可见字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string DecBrSql(string str)
{
if (str != null && str != "")
{
str = str.Replace("&nbsp;", " ");
str = str.Replace("<br>", " ");
}
return str;
} #region 根据指定字符串长度获取字符串
/// <summary>
/// 根据指定字符串长度获取字符串
/// </summary>
/// <param name="s">要截取的字符串</param>
/// <param name="len">字符串长度</param>
/// <returns></returns>
public string GetStrLen(string s, int len)
{
string ss = DecBrSql(s);
int l = GetStrLen(ss);
int i = l / 2;
int m = l % 2;
if (i > len || (i == len && m > 0))
{
return ss.Substring(0, len) + "..";
}
else
{
return ss;
}
}
#endregion
#endregion #region 去掉最后一个逗号
/// <summary>
/// 去掉最后一个逗号
/// </summary>
/// <param name="origin"></param>
/// <returns></returns>
public string DelLastComma(string origin)
{
if (origin.IndexOf(",") == -1)
{
return origin;
}
if (origin.LastIndexOf(",") + 1 == origin.Length)
{
return origin.Substring(0, origin.LastIndexOf(","));
}
else
{
return origin;
}
}
public string DelIndexComma(string origin)
{
if (origin.IndexOf(",") == -1)
{
return origin;
}
if (origin.IndexOf(",") == 0)
{
return origin.Substring(1, origin.Length - 1);
}
else
{
return origin;
}
}
public string DelLastCommad(string origin)
{
if (origin.IndexOf(".") == -1)
{
return origin;
}
return origin.Substring(0, origin.LastIndexOf("."));
}
#endregion #region 替换html代码为控件中可见字符
public string DecSql(string str)
{
if (str != null && str != "")
{
str = str.Replace("&nbsp;", " ");
str = str.Replace("<br>", "\r\n");
}
return str;
}
#endregion #region 获取拆分符右边的字符串
public string RightSplit(string sourceString, char splitChar)
{
string result = null;
string[] tempString = sourceString.Split(splitChar);
if (tempString.Length > 0)
{
result = tempString[tempString.Length - 1].ToString();
}
return result;
}
#endregion #region 转拼音
/**/
/// <summary>
/// 该类提供将指定汉字转化为拼音码、拼音首字母等一些相关方法;
/// 如果给定的字符为非中文汉字将不执行转化,直接返回原字符;
/// </summary>
//编码定义#region 编码定义 private static int[] pyvalue = new int[]
{
-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032,
-20026,
-20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746,
-19741, -19739, -19728,
-19725, -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281,
-19275, -19270, -19263,
-19261, -19249, -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018,
-19006, -19003, -18996,
-18977, -18961, -18952, -18783, -18774, -18773, -18763, -18756, -18741, -18735, -18731, -18722, -18710,
-18697, -18696, -18526,
-18518, -18501, -18490, -18478, -18463, -18448, -18447, -18446, -18239, -18237, -18231, -18220, -18211,
-18201, -18184, -18183,
-18181, -18012, -17997, -17988, -17970, -17964, -17961, -17950, -17947, -17931, -17928, -17922, -17759,
-17752, -17733, -17730,
-17721, -17703, -17701, -17697, -17692, -17683, -17676, -17496, -17487, -17482, -17468, -17454, -17433,
-17427, -17417, -17202,
-17185, -16983, -16970, -16942, -16915, -16733, -16708, -16706, -16689, -16664, -16657, -16647, -16474,
-16470, -16465, -16459,
-16452, -16448, -16433, -16429, -16427, -16423, -16419, -16412, -16407, -16403, -16401, -16393, -16220,
-16216, -16212, -16205,
-16202, -16187, -16180, -16171, -16169, -16158, -16155, -15959, -15958, -15944, -15933, -15920, -15915,
-15903, -15889, -15878,
-15707, -15701, -15681, -15667, -15661, -15659, -15652, -15640, -15631, -15625, -15454, -15448, -15436,
-15435, -15419, -15416,
-15408, -15394, -15385, -15377, -15375, -15369, -15363, -15362, -15183, -15180, -15165, -15158, -15153,
-15150, -15149, -15144,
-15143, -15141, -15140, -15139, -15128, -15121, -15119, -15117, -15110, -15109, -14941, -14937, -14933,
-14930, -14929, -14928,
-14926, -14922, -14921, -14914, -14908, -14902, -14894, -14889, -14882, -14873, -14871, -14857, -14678,
-14674, -14670, -14668,
-14663, -14654, -14645, -14630, -14594, -14429, -14407, -14399, -14384, -14379, -14368, -14355, -14353,
-14345, -14170, -14159,
-14151, -14149, -14145, -14140, -14137, -14135, -14125, -14123, -14122, -14112, -14109, -14099, -14097,
-14094, -14092, -14090,
-14087, -14083, -13917, -13914, -13910, -13907, -13906, -13905, -13896, -13894, -13878, -13870, -13859,
-13847, -13831, -13658,
-13611, -13601, -13406, -13404, -13400, -13398, -13395, -13391, -13387, -13383, -13367, -13359, -13356,
-13343, -13340, -13329,
-13326, -13318, -13147, -13138, -13120, -13107, -13096, -13095, -13091, -13076, -13068, -13063, -13060,
-12888, -12875, -12871,
-12860, -12858, -12852, -12849, -12838, -12831, -12829, -12812, -12802, -12607, -12597, -12594, -12585,
-12556, -12359, -12346,
-12320, -12300, -12120, -12099, -12089, -12074, -12067, -12058, -12039, -11867, -11861, -11847, -11831,
-11798, -11781, -11604,
-11589, -11536, -11358, -11340, -11339, -11324, -11303, -11097, -11077, -11067, -11055, -11052, -11045,
-11041, -11038, -11024,
-11020, -11019, -11018, -11014, -10838, -10832, -10815, -10800, -10790, -10780, -10764, -10587, -10544,
-10533, -10519, -10331,
-10329, -10328, -10322, -10315, -10309, -10307, -10296, -10281, -10274, -10270, -10262, -10260, -10256,
-10254
}; private static string[] pystr = new string[]
{
"a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian",
"biao",
"bie", "bin", "bing", "bo", "bu", "ca", "cai", "can", "cang", "cao", "ce", "ceng", "cha", "chai", "chan"
, "chang", "chao", "che", "chen",
"cheng", "chi", "chong", "chou", "chu", "chuai", "chuan", "chuang", "chui", "chun", "chuo", "ci", "cong"
, "cou", "cu", "cuan", "cui",
"cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", "deng", "di", "dian", "diao", "die", "ding",
"diu", "dong", "dou", "du", "duan",
"dui", "dun", "duo", "e", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", "fou", "fu", "ga"
, "gai", "gan", "gang", "gao",
"ge", "gei", "gen", "geng", "gong", "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo",
"ha", "hai", "han", "hang",
"hao", "he", "hei", "hen", "heng", "hong", "hou", "hu", "hua", "huai", "huan", "huang", "hui", "hun",
"huo", "ji", "jia", "jian",
"jiang", "jiao", "jie", "jin", "jing", "jiong", "jiu", "ju", "juan", "jue", "jun", "ka", "kai", "kan",
"kang", "kao", "ke", "ken",
"keng", "kong", "kou", "ku", "kua", "kuai", "kuan", "kuang", "kui", "kun", "kuo", "la", "lai", "lan",
"lang", "lao", "le", "lei",
"leng", "li", "lia", "lian", "liang", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "lv",
"luan", "lue", "lun", "luo",
"ma", "mai", "man", "mang", "mao", "me", "mei", "men", "meng", "mi", "mian", "miao", "mie", "min",
"ming", "miu", "mo", "mou", "mu",
"na", "nai", "nan", "nang", "nao", "ne", "nei", "nen", "neng", "ni", "nian", "niang", "niao", "nie",
"nin", "ning", "niu", "nong",
"nu", "nv", "nuan", "nue", "nuo", "o", "ou", "pa", "pai", "pan", "pang", "pao", "pei", "pen", "peng",
"pi", "pian", "piao", "pie",
"pin", "ping", "po", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin", "qing", "qiong", "qiu",
"qu", "quan", "que", "qun",
"ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou", "ru", "ruan", "rui", "run", "ruo", "sa",
"sai", "san", "sang",
"sao", "se", "sen", "seng", "sha", "shai", "shan", "shang", "shao", "she", "shen", "sheng", "shi",
"shou", "shu", "shua",
"shuai", "shuan", "shuang", "shui", "shun", "shuo", "si", "song", "sou", "su", "suan", "sui", "sun",
"suo", "ta", "tai",
"tan", "tang", "tao", "te", "teng", "ti", "tian", "tiao", "tie", "ting", "tong", "tou", "tu", "tuan",
"tui", "tun", "tuo",
"wa", "wai", "wan", "wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao",
"xie", "xin", "xing",
"xiong", "xiu", "xu", "xuan", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "yo",
"yong", "you",
"yu", "yuan", "yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai"
, "zhan", "zhang",
"zhao", "zhe", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuang",
"zhui", "zhun", "zhuo",
"zi", "zong", "zou", "zu", "zuan", "zui", "zun", "zuo"
}; //#endregion /**/
/// <summary>
/// 将一串中文转化为拼音
/// 如果给定的字符为非中文汉字将不执行转化,直接返回原字符;
/// </summary>
/// <param name="chsstr">指定汉字</param>
/// <returns>拼音码</returns>
public string ChsString2Spell(string chsstr)
{
string strRet = string.Empty; char[] ArrChar = chsstr.ToCharArray(); foreach (char c in ArrChar)
{
strRet += SingleChs2Spell(c.ToString());
} return strRet;
} /**/
/// <summary>
/// 将一串中文转化为拼音
/// </summary>
/// <param name="chsstr">指定汉字</param>
/// <returns>拼音首字母</returns>
public string GetHeadOfChs(string chsstr)
{
string strRet = string.Empty; char[] ArrChar = chsstr.ToCharArray(); foreach (char c in ArrChar)
{
strRet += GetHeadOfSingleChs(c.ToString());
} return strRet;
} /**/
/// <summary>
/// 单个汉字转化为拼音
/// </summary>
/// <param name="SingleChs">单个汉字</param>
/// <returns>拼音</returns>
public string SingleChs2Spell(string SingleChs)
{
byte[] array;
int iAsc;
string strRtn = string.Empty; array = Encoding.Default.GetBytes(SingleChs); try
{
iAsc = (short)(array[0]) * 256 + (short)(array[1]) - 65536;
}
catch
{
iAsc = 1;
} if (iAsc > 0 && iAsc < 160)
return SingleChs; for (int i = (pyvalue.Length - 1); i >= 0; i--)
{
if (pyvalue[i] <= iAsc)
{
strRtn = pystr[i];
break;
}
} //将首字母转为大写
if (strRtn.Length > 1)
{
strRtn = strRtn.Substring(0, 1).ToUpper() + strRtn.Substring(1);
} return strRtn;
} /**/
/// <summary>
/// 得到单个汉字拼音的首字母
/// </summary>
/// <returns></returns>
public string GetHeadOfSingleChs(string SingleChs)
{
return SingleChs2Spell(SingleChs).Substring(0, 1);
}
#endregion #region CheckBoxList取值及绑定
public string GetCheckBoxList(CheckBoxList CheckBoxList1)
{
string cblist = "";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected == true)
{
if (cblist == "")
{
cblist += CheckBoxList1.Items[i].Value;
}
else
{
cblist += "," + CheckBoxList1.Items[i].Value;
}
}
}
return cblist;
}
public string GetCheckBoxListTxt(CheckBoxList CheckBoxList1)
{
string cblist = "";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected == true)
{
if (cblist == "")
{
cblist += CheckBoxList1.Items[i].Text;
}
else
{
cblist += "," + CheckBoxList1.Items[i].Text;
}
}
}
return cblist;
} public void PutCheckBoxList(CheckBoxList CheckBoxList1, string value)
{
string[] strTemp = value.Split(',');
foreach (string str in strTemp)
{
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Value == str)
{
CheckBoxList1.Items[i].Selected = true;
}
}
}
}
#endregion #region 下载
public void DownFile(System.Web.UI.Page page, string filename)
{
if (filename != "")
{
string path = page.Server.MapPath(filename);
System.IO.FileInfo file = new System.IO.FileInfo(path);
if (file.Exists)
{
page.Response.Clear();
page.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
page.Response.AddHeader("Content-Length", file.Length.ToString());
page.Response.ContentType = "application/octet-stream";
page.Response.Filter.Close();
page.Response.WriteFile(file.FullName);
page.Response.End();
}
else
{
ResponseScript(page, "alert('文件不存在!');window.close();");
}
}
}
#endregion public string GetClientFullPathName(System.Web.UI.Page page, string file)
{
string FullPathName = "";
WebbUpload m_upload = new WebbUpload();
UploadFile m_file = m_upload.GetUploadFile(file);
FullPathName = m_file.ClientFullPathName;
return FullPathName;
}
#endregion public object SubStringByByte(string p)
{
throw new NotImplementedException();
}
}
}

ASP.NET 共用类库1的更多相关文章

  1. ASP.NET 共用类库

    using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...

  2. 使用VS中自带的一键打包功能将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理

    本章将和大家简单分享下如何使用VS中自带的一键打包功能将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理. 一.注册并登录NuGet平台 NuGet官网:http ...

  3. XCLNetTools1.0(ASP.NET常用类库)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 2016-01-01开放所有源代码: 项目地址:https://github.com/xucongli1989/XCLNetTools 下载地址: ...

  4. asp.net在类库中使用EF 6.0时的相关配置

    前提:之前使用EF的配置都是直接使用NuGet安装在项目中,然后直接修改web.config中的connectionString,然后创建相关dbcontext直接使用就可以了.此次为直接将EF安装在 ...

  5. Asp.Net framework 类库 自带的缓存 HttpRuntime.Cache HttpContext.Cache

    两个Cache 在.NET运用中经常用到缓存(Cache)对象.有HttpContext.Current.Cache以及HttpRuntime.Cache,HttpRuntime.Cache是应用程序 ...

  6. ASP.Net引用类库出现问题 二

    一:引用mysql.data.dll出现,问题? error: Package MySql.Data (.NETCoreApp,Version=v1.). Package MySql.Data sup ...

  7. ASP.NET Core 类库中取读配置文件 appsettings.json

    首先引用NuGet包 Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json Microsoft.Exte ...

  8. VisualStudioCode中用dotnet命令创建多个ASP.NET Core 项目、类库、控制台程序,并添加应用间的引用

    一.准备工作 首先安装VisualStudioCode并且可以使用. 1.首先新创建空的MyApps文件夹,作为项目主目录,下面将在这个文件夹中创建多个web应用程序.类型.控制台程序等. 2.打开V ...

  9. 让ASP.NET5在Jexus上飞呀飞

    就在最近一段时间,“Visual Studio 2015 CTP 5”(以下简称CTP5)发布了,CTP5的发布不仅标志着新一代的VisualStudio正式发布又向前迈出了一步,还标志着距离ASP. ...

随机推荐

  1. Asp.Net修改上传文件大小限制(修改web.config)

    i. Configuration节点下 <system.webServer> <security> <requestFiltering> <!--单位为字节  ...

  2. oracle——表修改语句集合

     alter table table_name modify column_name default 0; 

  3. spring @resource @ Autowired

    Spring中什么时候用@Resource,什么时候用@service 当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类 ...

  4. Selenium网址

    Selenium官网:http://www.seleniumhq.org/ Selenium火狐插件地址:http://release.seleniumhq.org/selenium-ide/ 浏览器 ...

  5. Observer Pattern

    Motivation We can not talk about Object Oriented Programming without considering the state of the ob ...

  6. [转载]Spring Web MVC Framework

    Required Configuration You need to map requests that you want the DispatcherServlet to handle, by us ...

  7. What is the difference between database table and database view?

    The database table has a physical existence in the database. A view is a virtual table, that is one ...

  8. Candy

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  9. linux入门教程(四) 初步进入linux世界

    [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Lin ...

  10. lintcode:Length of Last Word 最后一个单词的长度

    题目: 最后一个单词的长度 给定一个字符串, 包含大小写字母.空格' ',请返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 样例 给定 s = "Hello World& ...