关闭

文件上传

208人阅读 评论(0) 收藏 举报
分类:
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;
 }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7784次
    • 积分:140
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:12篇
    • 译文:1篇
    • 评论:0条