当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

asp.net+C#实现文件上传实现代码

欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入

        public class CUploadFile
        {
        /// <summary>
        /// 该类实现了文件上传功能,需要指定HtmlInputFile 控件
        /// 功能1:可以对文件类型进行限制
        /// 功能2:可以对文件大小上限进行限制
        ///
        /// example:
        /// CUploadFile up;
        /// up = new CUploadFile(HtmlInputFile1);
        /// up.SvaePath = "c:\\inetpub\\wwwroot\\upload\\"; //必须指定,保存文件的路径
        /// up.AllowExtFile = ".jpg?http://www.xvna.com;.gif?http://www.xvna.com;"; //允许的类型
        /// up.MaxSize = 500 * 1024; //大小限制500k
        /// up.NewFileName = "newfile1"; //指定新的文件名,不指定则不修改
        /// int errcode = up.Start(); //开始上传
        /// string errmsg = up.GetErr(errcode); //获得错误描述信息
        /// Response.write(errmsg); //显示错误信息
        /// </summary>
        System.Web.UI.HtmlControls.HtmlInputFile _scrfile;//HtmlInputFile 控件
        string _savepath = "";//保存文件的路径
        string _newfilename = "";//文件重命名为
        string _newextfile = "";//文件后缀
        int _maxsize = 0;//文件大小限制
        string _extfile = "";//允许的后缀名,用“;”分割,包含“.”,为空时允许全部文件类型
        //构造函数,不指定任何数据

         public CUploadFile()
        {

        }


        //构造函数,指定了HtmlInputFile 控件

         public CUploadFile(System.Web.UI.HtmlControls.HtmlInputFile scrFile)
        {
        this.FileSource = scrFile;
        }


        //构造函数,指定了HtmlInputFile 控件、保存路径,文件名不作修改

         public CUploadFile(System.Web.UI.HtmlControls.HtmlInputFile scrFile, string SavePath)
        {
        this.FileSource = scrFile;
        _savepath = SavePath;
        _newfilename = scrFile.PostedFile.FileName;
        }


        //构造函数,指定了HtmlInputFile 控件、保存路径、新的文件名(不包含后缀)

         public CUploadFile(System.Web.UI.HtmlControls.HtmlInputFile scrFile, string SavePath,string NewFileName)
        {
        this.FileSource = scrFile;
        _savepath = SavePath;
        _newfilename = NewFileName;
        }


        //准备就绪后,开始上传

         public int Start()
        {
        if(_scrfile.PostedFile.ContentLength == 0)
        {
        return 504; //no source
        }
        else if((_scrfile.PostedFile.ContentLength >= _maxsize)&&(_maxsize != 0))
        {
        return 501; //out of the range
        }
        else if((_savepath == "")||(_newfilename == ""))
        {
        return 505; //no filename or path
        }
        else if(!CheckExt())
        {
        return 502; //ext is not allow
        }
        try
        {
        _scrfile.PostedFile.SaveAs(_savepath + _newfilename + _newextfile);
        return 0;
        }
        catch
        {
        return 500; //unknow error
        }
        }

相关内容
赞助商链接