ASP.NET中实现简单文件上传

来源:互联网 发布:淘宝淘金币怎么没有了 编辑:程序博客网 时间:2024/05/17 09:06

1、在web.config中设置允许文件上传的类型

<appSettings>        <!--允许上传的文件类型-->        <add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/></appSettings>


2、程序代码
 if (IsPostBack)        {            bool fileOk = false;//检测允许文件类型开关            string path = Server.MapPath("/UploadedImages/"); //设置文件上传路径            //获取web.config文件<appSettings>节点中允许上传文件类型(A)            string allExtensions = ConfigurationManager.AppSettings["FileType"].ToString();            /*             * 使用程序内强制限定上传文件类型(B)             *                 string[] allExtensions = {".gif",".png",".jpeg",".pdf",".zip"};             *             */            string fileExtension=string.Empty;                        if (FileUpload1.HasFile)            {                //使用(A)方法                if (allExtensions.IndexOf(Path.GetExtension(FileUpload1.FileName).ToLower()) != -1)                {                    fileExtension = Path.GetExtension(FileUpload1.FileName).ToLower();                    fileOk = true;                }                /*                 * 使用(B)方法                    fileExtension = Path.GetExtension(FileUpload1.FileName).ToLower();                    for (int i = 0; i < allExtensions.Length; i++)                    {                        if (fileExtension == allExtensions[i])                        {                            fileOk = true;                        }                      }                 * */            }            if (fileOk)            {                string newFileName=DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;//更改上传后文件名                try                {                    FileUpload1.PostedFile.SaveAs(path + newFileName);                    Label1.Text = newFileName + "上传成功";                }                catch (Exception)                {                    Label1.Text = "文件上传失败";                }            }            else            {                Label1.Text = "不接受此类型的文件上传";            }        }