日期:2014-05-18 浏览次数:20509 次
//支持缩略图,是否等比缩放,指定像素缩放,限定上传大小,上传尺寸,图片存放路径,信息导出 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Drawing; using System.IO; /// <summary> /// UploadIMG 的摘要说明 /// </summary> public class UploadIMG { public UploadIMG() { // // TODO: 在此处添加构造函数逻辑 // } private string _MSG; private string _ofullname; private string _tfullname; private string _ofilename; private string _tfilename; private int _limitwidth = 2048; private int _limitheight = 1536; private int _twidth = 100; private int _theight = 100; private int _size = 1000000; private bool _israte = true; private string _path = "UpdateFile"; /// <summary> /// 信息 /// </summary> public string MSG { get { return _MSG; } set { _MSG = value; } } /// <summary> /// 保存时的完整路径.原图 /// </summary> public string OFullName { get { return _ofullname; } set { _ofullname = value; } } /// <summary> /// 保存时的完整路径.缩略图 /// </summary> public string TFullName { get { return _tfullname; } set { _tfullname = value; } } /// <summary> /// 保存时的图片名称.原图 /// </summary> public string OFileName { get { return _ofilename; } set { _ofilename = value; } } /// <summary> /// 保存时的图片名称.缩略图 /// </summary> public string TFileName { get { return _tfilename; } set { _tfilename = value; } } /// <summary> /// 限定宽度 /// </summary> public int LimitWidth { get { return _limitwidth; } set { _limitwidth = value; } } /// <summary> /// 限定高度 /// </summary> public int LimitHeight { get { return _limitheight; } set { _limitheight = value; } } /// <summary> /// 缩略图宽度 /// </summary> public int TWidth { get { return _twidth; } set { _twidth = value; } } /// <summary> /// 缩略图高度 /// </summary> public int THeight { get { return _theight; } set { _theight = value; } } /// <summary> /// 文件大小 /// </summary> public int Size { get { return _size; } set { _size = value; } } /// <summary> /// 是否成比例 /// </summary> public bool IsRate { get { return _israte; } set { _israte = value; } } /// <summary> /// 存放图片的文件夹名称 /// </summary> public string Path { get { return _path; } set { _path = value; } } /// <summary> /// 图片上传(默认:"等比压缩,限定上传尺寸2048*1536,缩略图尺寸100*100,限定上传大小1MB,存放在根目录UpdateFile中") /// </summary> /// <param name="UploadFile">文件上传控件</param> /// <returns>返回是否成功保存图片</returns> public bool UpLoadIMG(FileUpload UploadFile) { if (UploadFile.HasFile)//检查是否已经选择文件 { string filename = UploadFile.FileName.ToLower(); int i = filename.LastIndexOf("."); filename = filename.Substring(i, filename.Length - i); if (!(filename == ".jpg" || filename == ".jpeg" || filename == ".gif" || filename == ".png" || filename == ".bmp")) { MSG = "不受支持的类型,请重新选择!"; return false; }//检查上传文件的格式是否有效 if (UploadFile.PostedFile.ContentLength == 0 || UploadFile.PostedFile.ContentLength >= Size) { MSG = "指定的文件大小不符合要求!"; return false; }//检查图片文件的大小 //生成原图 Stream oStream = UploadFile.PostedFile.InputStream; System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream); int owidth = oImage.Width; //原图宽度 int oheight = oImage.Height; //原图高度 if (owidth > LimitWidth || oheight > LimitHeight) { MSG = "超过允许的图片尺寸范围!"; return false; }//检查是否超出规定尺寸 if (IsRate) { //按比例计算出缩略图的宽度和高度 if (owidth >= oheight) { THeight = (int)Math.Floor(Convert.ToDouble(oheight) * (Convert.ToDouble(TWidth) / Convert.ToDouble(owidth)));//等比设定高度 } else { TWidth = (int)Math.Floor(Convert.ToDouble(owidth) * (Convert.ToDouble(THeight) / Convert.ToDouble(oheight)));/