close
//生成縮略圖功能。
using System;
using System.IO;
using System.Web;
using System.Web.UI.HtmlControls;
namespace MyUplod
{
/// <summary>
/// 上傳類。
/// </summary>
public class Upload
{
private int _Error = 0;//返回上傳狀態。
private int _MaxSize = 160000;//最大單個上傳文件
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 = 80;//設置生成縮略圖的高度
private int _sWidth = 80;//設置生成縮略圖的寬度
//Error返回值,1、沒有上傳的文件。2、類型不允許。3、大小超限。4、未知錯誤。0、上傳成功。
public int Error
{
get{ return _Error;}
}
public int MaxSize
{
set{ _MaxSize = value;}
}
public string FileType
{
set{_FileType = value;}
}
public string SavePath
{
set{_SavePath = System.Web.HttpContext.Current.Server.MapPath(value);}
}
public int SaveType
{
set{_SaveType = value;}
}
public HtmlInputFile FormFile
{
set{_FormFile = value;}
}
public string InFileName
{
set{_InFileName = value;}
}
public string OutFileName
{
get{return _OutFileName;}
set{_OutFileName = value;}
}
public bool Iss
{
get{return _Iss;}
}
public int Width
{
get{return _Width;}
}
public int Height
{
get{return _Height;}
}
public int sWidth
{
get{return _sWidth;}
set{_sWidth = value;}
}
public int sHeight
{
get{return _sHeight;}
set{_sHeight = 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;
else
return _InFileName;
}
//檢查上傳的文件的類型,是否允許上傳。
private bool IsUpload(string Ext)
{
Ext = Ext.Replace(".", "");
bool b = false;
string[] arrFileType = _FileType.Split('/');
foreach(string str in arrFileType)
{
if(str.ToLower() == Ext.ToLower())
{
b = true;
break;
}
}
return b;
}
//上傳主要部分。
public void Open()
{
HttpPostedFile hpFile = _FormFile.PostedFile;
if(hpFile == null || hpFile.FileName.Trim() == "")
{
_Error = 1;
return;
}
string Ext = GetExt(hpFile.FileName);
if(!IsUpload(Ext))
{
_Error = 2;
return;
}
int iLen = hpFile.ContentLength;
if(iLen > _MaxSize)
{
_Error = 3;
return;
}
try
{
if(!Directory.Exists(_SavePath))
Directory.CreateDirectory(_SavePath);
byte[] bData = new byte[iLen];
hpFile.InputStream.Read(bData, 0, iLen);
string FName;
FName = FileName(Ext);
FileStream newFile = new FileStream(_SavePath + FName, FileMode.Create);
newFile.Write(bData, 0, bData.Length);
newFile.Flush();
try
{
//獲取圖片的高度和寬度
System.Drawing.Image Img = System.Drawing.Image.FromStream(newFile);
_Width = Img.Width;
_Height = Img.Height;
//生成縮略圖部分
if(_IsCreateImg)
{
//如果上傳文件小於15k,則不生成縮略圖。
if(iLen > 15360)
{
System.Drawing.Image newImg = Img.GetThumbnailImage(_sWidth, _sHeight, null, System.IntPtr.Zero);
newImg.Save(_SavePath + "s" + FName);
newImg.Dispose();
_Iss = true;
}
}
}
catch{}
newFile.Close();
_OutFileName = FName;
_Error = 0;
return;
}
catch
{
_Error = 4;
return;
}
}
}
}
轉載自:http://kao8.cn/more.asp?name=waitme
using System;
using System.IO;
using System.Web;
using System.Web.UI.HtmlControls;
namespace MyUplod
{
/// <summary>
/// 上傳類。
/// </summary>
public class Upload
{
private int _Error = 0;//返回上傳狀態。
private int _MaxSize = 160000;//最大單個上傳文件
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 = 80;//設置生成縮略圖的高度
private int _sWidth = 80;//設置生成縮略圖的寬度
//Error返回值,1、沒有上傳的文件。2、類型不允許。3、大小超限。4、未知錯誤。0、上傳成功。
public int Error
{
get{ return _Error;}
}
public int MaxSize
{
set{ _MaxSize = value;}
}
public string FileType
{
set{_FileType = value;}
}
public string SavePath
{
set{_SavePath = System.Web.HttpContext.Current.Server.MapPath(value);}
}
public int SaveType
{
set{_SaveType = value;}
}
public HtmlInputFile FormFile
{
set{_FormFile = value;}
}
public string InFileName
{
set{_InFileName = value;}
}
public string OutFileName
{
get{return _OutFileName;}
set{_OutFileName = value;}
}
public bool Iss
{
get{return _Iss;}
}
public int Width
{
get{return _Width;}
}
public int Height
{
get{return _Height;}
}
public int sWidth
{
get{return _sWidth;}
set{_sWidth = value;}
}
public int sHeight
{
get{return _sHeight;}
set{_sHeight = 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;
else
return _InFileName;
}
//檢查上傳的文件的類型,是否允許上傳。
private bool IsUpload(string Ext)
{
Ext = Ext.Replace(".", "");
bool b = false;
string[] arrFileType = _FileType.Split('/');
foreach(string str in arrFileType)
{
if(str.ToLower() == Ext.ToLower())
{
b = true;
break;
}
}
return b;
}
//上傳主要部分。
public void Open()
{
HttpPostedFile hpFile = _FormFile.PostedFile;
if(hpFile == null || hpFile.FileName.Trim() == "")
{
_Error = 1;
return;
}
string Ext = GetExt(hpFile.FileName);
if(!IsUpload(Ext))
{
_Error = 2;
return;
}
int iLen = hpFile.ContentLength;
if(iLen > _MaxSize)
{
_Error = 3;
return;
}
try
{
if(!Directory.Exists(_SavePath))
Directory.CreateDirectory(_SavePath);
byte[] bData = new byte[iLen];
hpFile.InputStream.Read(bData, 0, iLen);
string FName;
FName = FileName(Ext);
FileStream newFile = new FileStream(_SavePath + FName, FileMode.Create);
newFile.Write(bData, 0, bData.Length);
newFile.Flush();
try
{
//獲取圖片的高度和寬度
System.Drawing.Image Img = System.Drawing.Image.FromStream(newFile);
_Width = Img.Width;
_Height = Img.Height;
//生成縮略圖部分
if(_IsCreateImg)
{
//如果上傳文件小於15k,則不生成縮略圖。
if(iLen > 15360)
{
System.Drawing.Image newImg = Img.GetThumbnailImage(_sWidth, _sHeight, null, System.IntPtr.Zero);
newImg.Save(_SavePath + "s" + FName);
newImg.Dispose();
_Iss = true;
}
}
}
catch{}
newFile.Close();
_OutFileName = FName;
_Error = 0;
return;
}
catch
{
_Error = 4;
return;
}
}
}
}
轉載自:http://kao8.cn/more.asp?name=waitme
全站熱搜
留言列表