View Code
using
System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/**/ /// <summary>
/// Cls_Upfile 的摘要说明
/// </summary>
///
namespace AllSheng
...{
public class upload
...{
变量 #region 变量
System.Web.HttpPostedFile postedFile;
protected string localFileName; // 原文件名(含扩展名)
protected string localFileExtension; // 原扩展名
protected long localFileLength; // 原文件大小
protected string localFilePath; // 原文件路径
protected string saveFileName; // 保存的文件名(含扩展名)
protected string saveFileExtension; // 保存的扩展名
// protected long saveFileLength; // 保存的文件大小
protected string saveFilePath; // 保存文件的服务器端的完整路径
protected string saveFileFolderPath; // 保存文件的服务器端的文件夹路径
private string path = null ;
private string fileType = null ;
private int sizes = 0 ;
#endregion
upload():初始化变量 #region upload():初始化变量
/**/ /// <summary>
/// 初始化变量
/// </summary>
public upload()
...{
path = @" uploadimages " ; // 上传路径
fileType = " jpg|gif|bmp|jpeg|png|rar|doc " ;
sizes = 200 ; // 传文件的大小,默认200KB
}
#endregion
设置传入的值:Path / Sizes / FileType #region 设置传入的值:Path/Sizes/FileType
/**/ /// <summary>
/// 设置上传路径,如:uploadimages
/// </summary>
public string Path
...{
set
...{
path = @"" + value + @"" ;
}
}
/**/ /// <summary>
/// 设置上传文件大小,单位为KB
/// </summary>
public int Sizes
...{
set
...{
sizes = value;
}
}
/**/ /// <summary>
/// 设置上传文件的类型,如:jpg|gif|bmp
/// </summary>
public string FileType
...{
set
...{
fileType = value;
}
}
#endregion
SaveAs()上传文件 #region SaveAs()上传文件
public string SaveAs(System.Web.HttpFileCollection files)
...{
string myReturn = "" ;
try
...{
for ( int iFile = 0 ; iFile < files.Count; iFile ++ )
...{
postedFile = files[iFile];
// 获得文件的上传的路径
localFilePath = postedFile.FileName;
// 判断上传文件路径是否为空
if (localFilePath == null || localFilePath == "" )
...{
// message("您没有上传数据呀,是不是搞错了呀!");
// break;
continue ;
}
else
...{
判断文件大小 #region 判断文件大小
// 获得上传文件的大小
localFileLength = postedFile.ContentLength;
// 判断上传文件大小
if (localFileLength >= sizes * 1024 )
...{
message( " 上传的图片不能大于 " + sizes + " KB " );
break ;
}
#endregion
文件夹 #region 文件夹
// 获取保存文件夹路径
saveFileFolderPath = getSaveFileFolderPath(path);
#endregion
文件名 #region 文件名
// 获得原文件名(含扩展名)
localFileName = System.IO.Path.GetFileName(postedFile.FileName);
saveFileName = DateTime.UtcNow.ToString( " yyyy " + " MM " + " dd " + " HH " + " mm " + " ss " +
" ffffff " ); // "yyyy"+"MM"+"dd"+"HH"+"mm"+"ss"+"ffffff"
#endregion
扩展名 #region 扩展名
// 获取原文件扩展名
localFileExtension = getFileExtension(localFileName);
// 如果为真允许上传,为假则不允许上传
if (localFileExtension == "" )
...{
message( " 目前本系统支持的格式为: " + fileType);
}
// 得到保存文件的扩展名,可根据需要更改扩展名
saveFileExtension = localFileExtension;
#endregion
// 得到保存文件的完整路径
saveFilePath = saveFileFolderPath + saveFileName + saveFileExtension;
postedFile.SaveAs(saveFilePath);
myReturn = myReturn + ((myReturn == "" || myReturn == null ) ? "" : " | " ) + path.TrimStart( new char [] ...{ '' }) +
saveFileName + saveFileExtension;
// 以下对文章的内容进行一些加工
System.Web.HttpContext.Current.Response.Write
( " <script>parent.Article_Content___Frame.FCK.EditorDocument.body.innerHTML+='<img src= " + saveFileName + saveFileExtension +
" " + " border=0 />'</SCRIPT> " );
}
}
}
catch
...{
// 异常
message( " 出现未知错误! " );
myReturn = null ;
}
return myReturn;
}
#endregion
getSaveFileFolderPath(...):获得保存的文件夹的物理路径 #region getSaveFileFolderPath(...):获得保存的文件夹的物理路径
/**/ /// <summary>
/// 获得保存的文件夹的物理路径
/// 返回保存的文件夹的物理路径,若为null则表示出错
/// </summary>
/// <param name="format"> 保存的文件夹路径 或者 格式化方式创建保存文件的文件夹,如按日期"yyyy"+"MM"+"dd":20060511 </param>
/// <returns> 保存的文件夹的物理路径,若为null则表示出错 </returns>
private string getSaveFileFolderPath( string format)
...{
string mySaveFolder = null ;
try
...{
string folderPath = null ;
// 以当前时间创建文件夹,
// !!!!!!!!!!!!以后用正则表达式替换下面的验证语句!!!!!!!!!!!!!!!!!!!
if (format.IndexOf( " yyyy " ) > - 1 || format.IndexOf( " MM " ) > - 1 || format.IndexOf( " dd " ) > - 1 || format.IndexOf( " hh " ) > - 1 ||
format.IndexOf( " mm " ) > - 1 || format.IndexOf( " ss " ) > - 1 || format.IndexOf( " ff " ) > - 1 )
...{
// 以通用标准时间创建文件夹的名字
folderPath = DateTime.UtcNow.ToString(format);
mySaveFolder = System.Web.HttpContext.Current.Server.MapPath( " . " ) + @"" + folderPath + @"" ;
}
else
...{
mySaveFolder = System.Web.HttpContext.Current.Server.MapPath( " . " ) + format;
}
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(mySaveFolder);
// 判断文件夹否存在,不存在则创建
if ( ! dir.Exists)
...{
dir.Create();
}
}
catch
...{
message( " 获取保存路径出错 " );
}
return mySaveFolder;
}
#endregion
getFileExtension(...):获取原文件的扩展名 #region getFileExtension(...):获取原文件的扩展名
/**/ /// <summary>
/// 获取原文件的扩展名,返回原文件的扩展名(localFileExtension),该函数用到外部变量fileType,即允许的文件扩展名.
/// </summary>
/// <param name="myFileName"> 原文件名 </param>
/// <returns> 原文件的扩展名(localFileExtension);若返回为null,表明文件无后缀名;若返回为"",则表明扩展名为非法. </returns>
private string getFileExtension( string myFileName)
...{
string myFileExtension = null ;
// 获得文件扩展名
myFileExtension = System.IO.Path.GetExtension(myFileName); // 若为null,表明文件无后缀名;
// 分解允许上传文件的格式
if (myFileExtension != "" )
...{myFileExtension = myFileExtension.ToLower(); // 转化为小写
}
string [] temp = fileType.Split( ' | ' );
// 设置上传的文件是否是允许的格式
bool flag = false ;
// 判断上传的文件是否是允许的格式
foreach ( string data in temp)
...{
if (( " . " + data) == myFileExtension)
...{
flag = true ;
break ;
}
}
if ( ! flag)
...{
myFileExtension = "" ; // 不能设置成null,因为null表明文件无后缀名;
}
return myFileExtension;
}
#endregion
message(...):弹出消息框 #region message(...):弹出消息框
/**/ /// <summary>
/// 弹出消息框,显示内容(msg),点击"确定"后页面跳转到该路径(url)
/// </summary>
/// <param name="msg"> 显示内容 </param>
/// <param name="url"> 跳转路径 </param>
private void message( string msg, string url)
...{
System.Web.HttpContext.Current.Response.Write( " <script language=javascript>alert(' " + msg + " ');window.location=' " + url +
" '</script> " );
}
/**/ /// <summary>
/// 弹出消息框,显示内容(msg),无跳转
/// </summary>
/// <param name="msg"> 显示内容 </param>
private void message( string msg)
...{
System.Web.HttpContext.Current.Response.Write( " <script language=javascript>alert(' " + msg + " ');</script> " );
}
#endregion
}
}
Upfile.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
public partial class Inc_Upfile : System.Web.UI.Page
...{
protected void Page_Load( object sender, EventArgs e)
...{
// Cut By 梦溪苑。
}
protected void Button1_Click( object sender, EventArgs e)
...{
AllSheng.upload UpFiles = new AllSheng.upload();
// HttpPostedFile File = FileUpload1.PostedFile;
// AllSheng.UploadObj.PhotoSave("/", FileUpload1);
HttpFileCollection files = HttpContext.Current.Request.Files;
UpFiles.Path = " ../UpLoadfiles " ;
String ReStr = UpFiles.SaveAs(files).ToString();
Label1.Text = ReStr;
UpFiles = null ;
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/**/ /// <summary>
/// Cls_Upfile 的摘要说明
/// </summary>
///
namespace AllSheng
...{
public class upload
...{
变量 #region 变量
System.Web.HttpPostedFile postedFile;
protected string localFileName; // 原文件名(含扩展名)
protected string localFileExtension; // 原扩展名
protected long localFileLength; // 原文件大小
protected string localFilePath; // 原文件路径
protected string saveFileName; // 保存的文件名(含扩展名)
protected string saveFileExtension; // 保存的扩展名
// protected long saveFileLength; // 保存的文件大小
protected string saveFilePath; // 保存文件的服务器端的完整路径
protected string saveFileFolderPath; // 保存文件的服务器端的文件夹路径
private string path = null ;
private string fileType = null ;
private int sizes = 0 ;
#endregion
upload():初始化变量 #region upload():初始化变量
/**/ /// <summary>
/// 初始化变量
/// </summary>
public upload()
...{
path = @" uploadimages " ; // 上传路径
fileType = " jpg|gif|bmp|jpeg|png|rar|doc " ;
sizes = 200 ; // 传文件的大小,默认200KB
}
#endregion
设置传入的值:Path / Sizes / FileType #region 设置传入的值:Path/Sizes/FileType
/**/ /// <summary>
/// 设置上传路径,如:uploadimages
/// </summary>
public string Path
...{
set
...{
path = @"" + value + @"" ;
}
}
/**/ /// <summary>
/// 设置上传文件大小,单位为KB
/// </summary>
public int Sizes
...{
set
...{
sizes = value;
}
}
/**/ /// <summary>
/// 设置上传文件的类型,如:jpg|gif|bmp
/// </summary>
public string FileType
...{
set
...{
fileType = value;
}
}
#endregion
SaveAs()上传文件 #region SaveAs()上传文件
public string SaveAs(System.Web.HttpFileCollection files)
...{
string myReturn = "" ;
try
...{
for ( int iFile = 0 ; iFile < files.Count; iFile ++ )
...{
postedFile = files[iFile];
// 获得文件的上传的路径
localFilePath = postedFile.FileName;
// 判断上传文件路径是否为空
if (localFilePath == null || localFilePath == "" )
...{
// message("您没有上传数据呀,是不是搞错了呀!");
// break;
continue ;
}
else
...{
判断文件大小 #region 判断文件大小
// 获得上传文件的大小
localFileLength = postedFile.ContentLength;
// 判断上传文件大小
if (localFileLength >= sizes * 1024 )
...{
message( " 上传的图片不能大于 " + sizes + " KB " );
break ;
}
#endregion
文件夹 #region 文件夹
// 获取保存文件夹路径
saveFileFolderPath = getSaveFileFolderPath(path);
#endregion
文件名 #region 文件名
// 获得原文件名(含扩展名)
localFileName = System.IO.Path.GetFileName(postedFile.FileName);
saveFileName = DateTime.UtcNow.ToString( " yyyy " + " MM " + " dd " + " HH " + " mm " + " ss " +
" ffffff " ); // "yyyy"+"MM"+"dd"+"HH"+"mm"+"ss"+"ffffff"
#endregion
扩展名 #region 扩展名
// 获取原文件扩展名
localFileExtension = getFileExtension(localFileName);
// 如果为真允许上传,为假则不允许上传
if (localFileExtension == "" )
...{
message( " 目前本系统支持的格式为: " + fileType);
}
// 得到保存文件的扩展名,可根据需要更改扩展名
saveFileExtension = localFileExtension;
#endregion
// 得到保存文件的完整路径
saveFilePath = saveFileFolderPath + saveFileName + saveFileExtension;
postedFile.SaveAs(saveFilePath);
myReturn = myReturn + ((myReturn == "" || myReturn == null ) ? "" : " | " ) + path.TrimStart( new char [] ...{ '' }) +
saveFileName + saveFileExtension;
// 以下对文章的内容进行一些加工
System.Web.HttpContext.Current.Response.Write
( " <script>parent.Article_Content___Frame.FCK.EditorDocument.body.innerHTML+='<img src= " + saveFileName + saveFileExtension +
" " + " border=0 />'</SCRIPT> " );
}
}
}
catch
...{
// 异常
message( " 出现未知错误! " );
myReturn = null ;
}
return myReturn;
}
#endregion
getSaveFileFolderPath(...):获得保存的文件夹的物理路径 #region getSaveFileFolderPath(...):获得保存的文件夹的物理路径
/**/ /// <summary>
/// 获得保存的文件夹的物理路径
/// 返回保存的文件夹的物理路径,若为null则表示出错
/// </summary>
/// <param name="format"> 保存的文件夹路径 或者 格式化方式创建保存文件的文件夹,如按日期"yyyy"+"MM"+"dd":20060511 </param>
/// <returns> 保存的文件夹的物理路径,若为null则表示出错 </returns>
private string getSaveFileFolderPath( string format)
...{
string mySaveFolder = null ;
try
...{
string folderPath = null ;
// 以当前时间创建文件夹,
// !!!!!!!!!!!!以后用正则表达式替换下面的验证语句!!!!!!!!!!!!!!!!!!!
if (format.IndexOf( " yyyy " ) > - 1 || format.IndexOf( " MM " ) > - 1 || format.IndexOf( " dd " ) > - 1 || format.IndexOf( " hh " ) > - 1 ||
format.IndexOf( " mm " ) > - 1 || format.IndexOf( " ss " ) > - 1 || format.IndexOf( " ff " ) > - 1 )
...{
// 以通用标准时间创建文件夹的名字
folderPath = DateTime.UtcNow.ToString(format);
mySaveFolder = System.Web.HttpContext.Current.Server.MapPath( " . " ) + @"" + folderPath + @"" ;
}
else
...{
mySaveFolder = System.Web.HttpContext.Current.Server.MapPath( " . " ) + format;
}
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(mySaveFolder);
// 判断文件夹否存在,不存在则创建
if ( ! dir.Exists)
...{
dir.Create();
}
}
catch
...{
message( " 获取保存路径出错 " );
}
return mySaveFolder;
}
#endregion
getFileExtension(...):获取原文件的扩展名 #region getFileExtension(...):获取原文件的扩展名
/**/ /// <summary>
/// 获取原文件的扩展名,返回原文件的扩展名(localFileExtension),该函数用到外部变量fileType,即允许的文件扩展名.
/// </summary>
/// <param name="myFileName"> 原文件名 </param>
/// <returns> 原文件的扩展名(localFileExtension);若返回为null,表明文件无后缀名;若返回为"",则表明扩展名为非法. </returns>
private string getFileExtension( string myFileName)
...{
string myFileExtension = null ;
// 获得文件扩展名
myFileExtension = System.IO.Path.GetExtension(myFileName); // 若为null,表明文件无后缀名;
// 分解允许上传文件的格式
if (myFileExtension != "" )
...{myFileExtension = myFileExtension.ToLower(); // 转化为小写
}
string [] temp = fileType.Split( ' | ' );
// 设置上传的文件是否是允许的格式
bool flag = false ;
// 判断上传的文件是否是允许的格式
foreach ( string data in temp)
...{
if (( " . " + data) == myFileExtension)
...{
flag = true ;
break ;
}
}
if ( ! flag)
...{
myFileExtension = "" ; // 不能设置成null,因为null表明文件无后缀名;
}
return myFileExtension;
}
#endregion
message(...):弹出消息框 #region message(...):弹出消息框
/**/ /// <summary>
/// 弹出消息框,显示内容(msg),点击"确定"后页面跳转到该路径(url)
/// </summary>
/// <param name="msg"> 显示内容 </param>
/// <param name="url"> 跳转路径 </param>
private void message( string msg, string url)
...{
System.Web.HttpContext.Current.Response.Write( " <script language=javascript>alert(' " + msg + " ');window.location=' " + url +
" '</script> " );
}
/**/ /// <summary>
/// 弹出消息框,显示内容(msg),无跳转
/// </summary>
/// <param name="msg"> 显示内容 </param>
private void message( string msg)
...{
System.Web.HttpContext.Current.Response.Write( " <script language=javascript>alert(' " + msg + " ');</script> " );
}
#endregion
}
}
Upfile.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
public partial class Inc_Upfile : System.Web.UI.Page
...{
protected void Page_Load( object sender, EventArgs e)
...{
// Cut By 梦溪苑。
}
protected void Button1_Click( object sender, EventArgs e)
...{
AllSheng.upload UpFiles = new AllSheng.upload();
// HttpPostedFile File = FileUpload1.PostedFile;
// AllSheng.UploadObj.PhotoSave("/", FileUpload1);
HttpFileCollection files = HttpContext.Current.Request.Files;
UpFiles.Path = " ../UpLoadfiles " ;
String ReStr = UpFiles.SaveAs(files).ToString();
Label1.Text = ReStr;
UpFiles = null ;
}