C# 通用上传文件类

时间:2023-03-08 23:42:17
C# 通用上传文件类

1、Upfile.aspx:

C# 通用上传文件类<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Upfile.aspx.cs" Inherits="Inc_Upfile" %>
C# 通用上传文件类
C# 通用上传文件类<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
C# 通用上传文件类
C# 通用上传文件类<html xmlns="http://www.w3.org/1999/xhtml"; >
C# 通用上传文件类<head runat="server">
C# 通用上传文件类    <title>上传文件</title>
C# 通用上传文件类    <link href="../Manage/Style.Css" type="text/css" rel=Stylesheet />
C# 通用上传文件类</head>
C# 通用上传文件类<body>
C# 通用上传文件类    <form id="form1" runat="server">
C# 通用上传文件类    <div style="left: 0px; clip: rect(0px auto auto 0px); position: absolute; top: 0px">
C# 通用上传文件类        <asp:FileUpload ID="FileUpload1" runat="server"  />
C# 通用上传文件类        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文件" CssClass="btn2" />
C# 通用上传文件类        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
C# 通用上传文件类    </form>
C# 通用上传文件类</body>
C# 通用上传文件类</html>

2、Upfile.aspx.cs

C# 通用上传文件类using System;
C# 通用上传文件类using System.Data;
C# 通用上传文件类using System.Configuration;
C# 通用上传文件类using System.Collections;
C# 通用上传文件类using System.Web;
C# 通用上传文件类using System.Web.Security;
C# 通用上传文件类using System.Web.UI;
C# 通用上传文件类using System.Web.UI.WebControls;
C# 通用上传文件类using System.Web.UI.WebControls.WebParts;
C# 通用上传文件类using System.Web.UI.HtmlControls;
C# 通用上传文件类
C# 通用上传文件类public partial class Inc_Upfile : System.Web.UI.Page
C# 通用上传文件类{
C# 通用上传文件类    protected void Page_Load(object sender, EventArgs e)
C# 通用上传文件类    {
C# 通用上传文件类        //Cut By 梦溪苑。
C# 通用上传文件类    }
C# 通用上传文件类    protected void Button1_Click(object sender, EventArgs e)
C# 通用上传文件类    {
C# 通用上传文件类        AllSheng.upload UpFiles = new AllSheng.upload();
C# 通用上传文件类
C# 通用上传文件类     
C# 通用上传文件类        //HttpPostedFile File = FileUpload1.PostedFile;
C# 通用上传文件类      // AllSheng.UploadObj.PhotoSave("/", FileUpload1);
C# 通用上传文件类        HttpFileCollection files = HttpContext.Current.Request.Files;
C# 通用上传文件类            UpFiles.Path = "../UpLoadfiles";
C# 通用上传文件类            String ReStr= UpFiles.SaveAs(files).ToString();
C# 通用上传文件类            Label1.Text = ReStr;
C# 通用上传文件类            UpFiles = null;
C# 通用上传文件类    }
C# 通用上传文件类}

3、类文件:

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