← Tutti gli articoli

File Upload. Limit the Size of an uploaded file with a Custom Validator

18 ottobre 2010  · Asp.Net · Article  ·  253 visite

File Upload - Size Custom Validator - We can set the limit to the size of a file that can be uploaded

 

<

asp:ScriptManager ID="ScriptManager1" runat="server">

</asp:ScriptManager>

<br />

<asp:FileUpload ID="FileUpload1" runat="server" Width="269px" />

<br />

<asp:RequiredFieldValidator ID="rfv_FileUpload1" runat="server" ErrorMessage="File Required" ValidationGroup="UploadValidationGroup"

ControlToValidate="FileUpload1"></asp:RequiredFieldValidator>

<br />

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="File Size too big. Upload denied"

Text="File Size too big. Upload denied"

OnServerValidate="FileUploadServerValidation"

ValidationGroup="UploadValidationGroup"

></asp:CustomValidator>

<br />

<asp:Button ID="btnUpload" runat="server" Text="Upload" ValidationGroup="UploadValidationGroup" onclick="btnUpload_Click" />

  
using System;
using System.Configuration;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    private bool sizeValidated;
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void FileUploadServerValidation(object source, ServerValidateEventArgs args)
    {
        if (!FileUpload1.HasFile)
        {
            args.IsValid = false;
        }
        else
        {
            int l = FileUpload1.PostedFile.ContentLength;

            int configLimit;
            if( ! int.TryParse(ConfigurationManager.AppSettings["FileSizeUploadLimit"], out configLimit )){
                args.IsValid = false;
                return;
            }

            if (l <= configLimit)
            {
                args.IsValid = true;
                sizeValidated = true;
            }
            else
            {
                args.IsValid = false;
                sizeValidated = false;
            }

        }


       

    }

    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (sizeValidated == false)
            return;


        //------- save uploaded file
        FileUpload1.PostedFile.SaveAs(@"c:\temp" + FileUpload1.PostedFile.FileName);
    }
}