#region CorePlex 62865//生成缩略图功能。
using System;using System.IO;using System.Web;using System.Web.UI.HtmlControls;using System.Drawing;namespace GNC{///<summary>///上传类(图片)///</summary>public class Upload{private int _Error = 0;//返回上传状态。
private int _MaxSize = 1024 * 1024;//最大单个上传文件 (默认)private string _FileType = "jpg;gif;bmp;png";//所支持的上传类型用"/"隔开private string _SavePath = System.Web.HttpContext.Current.Server.MapPath(".") + "\\";//保存文件的实际路径private int _SaveType = 0;//上传文件的类型,0代表自动生成文件名private HtmlInputFile _FormFile;//上传控件。
private string _InFileName = "";//非自动生成文件名设置。
private string _OutFileName = "";//输出文件名。
private bool _IsCreateImg = true;//是否生成缩略图。
private bool _Iss = false;//是否有缩略图生成.private int _Height = 0;//获取上传图片的高度private int _Width = 0;//获取上传图片的宽度private int _sHeight = 120;//设置生成缩略图的高度private int _sWidth = 120;//设置生成缩略图的宽度private bool _IsDraw = false;//设置是否加水印private int _DrawStyle = 0;//设置加水印的方式0:文字水印模式,1:图片水印模式,2:不加private int _DrawString_x = 10;//绘制文本的X坐标(左上角)private int _DrawString_y = 10;//绘制文本的Y坐标(左上角)private string _AddText = "GlobalNatureCrafts";//设置水印内容private string _Font = "宋体";//设置水印字体private int _FontSize = 12;//设置水印字大小private int _FileSize = 0;//获取已经上传文件的大小private string _CopyIamgePath = System.Web.HttpContext.Current.Server.MapPath(".") + "/images/5dm_new.jpg";//图片水印模式下的覆盖图片的实际地址///<summary>///Error返回值,1、没有上传的文件。
2、类型不允许。
3、大小超限。
4、未知错误。
0、上传成功。
///</summary>public int Error{get { return _Error; }}///<summary>///最大单个上传文件///</summary>public int MaxSize{set { _MaxSize = value; }}///<summary>///所支持的上传类型用";"隔开///</summary>public string FileType{set { _FileType = value; }}///<summary>/// //保存文件的实际路径///</summary>public string SavePath{set { _SavePath = System.Web.HttpContext.Current.Server.MapPath(value); }get { return _SavePath; }}///<summary>///上传文件的类型,0代表自动生成文件名///</summary>public int SaveType{set { _SaveType = value; }}///<summary>///上传控件///</summary>public HtmlInputFile FormFile{set { _FormFile = value; }}///<summary>/// //非自动生成文件名设置。
///</summary>public string InFileName{set { _InFileName = value; }}///<summary>///输出文件名///</summary>public string OutFileName{get { return _OutFileName; }set { _OutFileName = value; }}///<summary>///输出的缩略图文件名///</summary>public string OutThumbFileName{get;set;}///<summary>///是否有缩略图生成.///</summary>public bool Iss{get { return _Iss; }}///<summary>/// //获取上传图片的宽度///</summary>public int Width{get { return _Width; }}///<summary>/// //获取上传图片的高度///</summary>public int Height{get { return _Height; }}///<summary>///设置缩略图的宽度///</summary>public int sWidth{get { return _sWidth; }set { _sWidth = value; }}///<summary>///设置缩略图的高度///</summary>public int sHeight{get { return _sHeight; }set { _sHeight = value; }}///<summary>///是否生成缩略图///</summary>public bool IsCreateImg{get { return _IsCreateImg; }set { _IsCreateImg = value; }}///<summary>///是否加水印///</summary>public bool IsDraw{get { return _IsDraw; }set { _IsDraw = value; }}///<summary>///设置加水印的方式0:文字水印模式,1:图片水印模式,2:不加///</summary>public int DrawStyle{get { return _DrawStyle; }set { _DrawStyle = value; }}///<summary>///绘制文本的X坐标(左上角)///</summary>public int DrawString_x{get { return _DrawString_x; }set { _DrawString_x = value; }}///<summary>///绘制文本的Y坐标(左上角)///</summary>public int DrawString_y{get { return _DrawString_y; }set { _DrawString_y = value; }}///<summary>///设置文字水印内容///</summary>public string AddText{get { return _AddText; }set { _AddText = value; }}///<summary>///设置文字水印字体///</summary>public string Font{get { return _Font; }set { _Font = value; }}///<summary>///设置文字水印字的大小///</summary>public int FontSize{get { return _FontSize; }set { _FontSize = value; }}public int FileSize{get { return _FileSize; }set { _FileSize = value; }}///<summary>///图片水印模式下的覆盖图片的实际地址///</summary>public string CopyIamgePath{set { _CopyIamgePath = System.Web.HttpContext.Current.Server.MapPath(value); } }//获取文件的后缀名private string GetExt(string path){return Path.GetExtension(path);}//获取输出文件的文件名。
private string FileName(string Ext){if (_SaveType == 0 || _InFileName.Trim() == "")return DateTime.Now.ToString("yyyyMMddHHmmssfff") + Ext;elsereturn _InFileName;}//检查上传的文件的类型,是否允许上传。