asp.net FileUpload控件通过扩展名限制文件

时间:2013-11-21 18:32:47

标签: c# asp.net ajax file-upload

对于fileupload,我有一个后面的代码,仅限于上传“PNG”文件。如何允许上传“JPG”和“JPEG”文件?

protected void btnMainPicUPL_Click(object sender, EventArgs e)
    {
        String ext = System.IO.Path.GetExtension(fulMainPicUPL.FileName);

        if (ext == ".png")
        {
            String path = Server.MapPath("\\~/../Logged_in/AdminFotoUser/UserPics\\");
            fulMainPicUPL.SaveAs(path + txtMainPicUPL.Text + ext);
        }

        else
        {
            lblServerMSG.ForeColor = System.Drawing.Color.Red;
            lblServerMSG.Text = "<br>No hemos podido cargar tu foto!";
        }
    }

1 个答案:

答案 0 :(得分:2)

您可以将允许的文件扩展名存储在一个数组中,然后按照以下方式对其进行包含:

        string ext = System.IO.Path.GetExtension(fulMainPicUPL.FileName);

        string[] allowedExtenstions = new string[] { ".png", ".jpg", ".jpeg" };

        if (allowedExtenstions.Contains(ext))
        {
        string path = Server.MapPath("\\~/../Logged_in/AdminFotoUser/UserPics\\");
        fulMainPicUPL.SaveAs(path + txtMainPicUPL.Text + ext);
        }

请注意,最好将允许的文件扩展名存储在appSettings中的可配置位置。