简单asp.net文件的上传

来源:互联网 发布:js用偶数奇数隔行变色 编辑:程序博客网 时间:2024/05/20 19:30

1、在前台页面需要用到的控件是FileUpload

2、后台的代码,通过代码来理解上传过程

  

 public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

   
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            List<string> type = new List<string>();      //该集合来存放一些文件的格式,来为下面的类型判断做准备。
            type.Add("image/jpeg");
            type.Add("image/x-png");
                if (FileUpload1.HasFile)    //这个if语句判断的是是否选择了需要上传的文件。如果选择了FileUpload1.HasFile返回true,没有选择返回false。若没有这个判断会报错。
                {
                    if (type.Contains(FileUpload1.PostedFile.ContentType) == false)  //这个判断上传数据的类型。看是否与上面集合里面有的类型相匹配。如果有,允许上传。
            {
                Label1.Text = "上传的图片格式不正确,只支持jpg和png格式的图片";
            }
            else
            {
                    if (FileUpload1.PostedFile.ContentLength <= 20* 1024 * 1024) //该if语句判断上传文件的大小,如果上传的文件太大,可能占用服务器时间过程,可以导致别人无法访问服务器。也会存在安全问题。当然光在这儿限制大小还会出现问题的。程序是先进入Web.config的,当这里的限制条件通不过也是要报错的。所以要在Web.config你面加上这样一段代码: <httpRuntime maxRequestLength="94000"/>;94000是一个可变值,只有上传的文件满足这儿的限制条件,才会进出C#后台的if判断语句。
                    {
                        string str = "F:\\Asp.net\\文件上传\\文件上传
\\image" + FileUpload1.PostedFile.FileName;  
                        FileUpload1.PostedFile.SaveAs(str); //用SaveAs()方法来将选择的文件存到指定的位置。F:\\Asp.net\\文件上传\\文件上传\\image为指定的文件夹,FileUpload1.PostedFile.FileName是存到指定位置后还用原来的文件名。
                        Label1.Text = "上传成功";

                    }
                    else
                    {
                        Label1.Text = "您传的文件过大";
                    }
           }
                }
                else
                {
                    Label1.Text = "请选择要上传的文件";
                }
           
         
          
        }
    }

注意,if语句的顺序很重要,否则会出现提示错误。或者报异常等。

原创粉丝点击