Use the Following code to Validate and Upload files in ASP. Net
This Code Validates for the followings.
- Only .doc, .docx, .ppt, .pptx, .xls, .xlsx, .pdf, .zip, .rtf, .jpg, .jpeg, .gif files can be Uploaded.
- Filename must not exceed 100 characters (including extension).
- Total Size of file (per Upload) must not exceed 10 MB.
Use "FileUpload" control to Upload the Doc.
In "web.config" set the following for size of the File allowed.
in "system.web" tag put the "httpRuntime" tag.
httpRuntime executionTimeout="300" maxRequestLength="102400"
Codings :
Imports System.IO
Imports System.Data.SqlClient
Partial Class FileUpload
Inherits System.Web.UI.Page
#Region "Variables"
Dim con As New SqlConnection
Dim com As New SqlCommand
Dim upldirinfo As DirectoryInfo
#End Region
#Region "Click on Upload"
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
Try
If Page.IsValid Then
If ServerValidation() Then
Dim strftpPath1 As String = "C:\UploadFiles"
If FileUpload1.FileName.ToString <> "" Then
If strftpPath1 <> "" Then
upldirinfo = New DirectoryInfo(strftpPath1)
If Not upldirinfo.Exists Then
upldirinfo.Create()
End If
Dim filename As String = FileUpload1.PostedFile.FileName
filename = filename.Remove(0, filename.LastIndexOf("\") + 1)
Dim filpath As String = strftpPath1 + "\" + filename
Dim filinfo As FileInfo
filinfo = New FileInfo(filpath)
If Not filinfo.Exists Then
FileUpload1.PostedFile.SaveAs(strftpPath1 + "\" + filename)
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "'<script language='javascript'>alert('" & filename & " is successfully Uploaded .');</script>")
'DB Connection to Save the Deatils in Backend.
con.ConnectionString = "Password=SSSS;Persist Security Info=True;User ID=SSSSSS;Initial Catalog=SSSSSSS;Data Source=SSSSSSSSS"
con.Open()
com.Connection = con
com.CommandType = Data.CommandType.Text
com.CommandText = "INSERT INTO tbFileUpload VALUES('" & strftpPath1 & "','" & filename & "')"
com.ExecuteNonQuery()
Else
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('The File Name " & filename & " already exists .');</script>")
End If
Else
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Please Provide a Directory .');</script>")
End If
Else
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Please you select a uploaded file .');</script>")
End If
End If
End If
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region
#Region "Code for ServerValidation"
Public Function ServerValidation() As Boolean
Try
Dim size, intlen As Long 'Uploaded File Size
Dim strExt1 As String 'Extension Type
Dim retVal As Int16
size = FileUpload1.PostedFile.ContentLength
intlen = FileUpload1.FileName.LastIndexOf("\")
retVal = FileUpload1.FileName.Substring(intlen + 1, FileUpload1.FileName.Length - intlen - 1).Length
'getting uploaded file Extension Type
If FileUpload1.HasFile Then
Dim strArr As String() = FileUpload1.FileName.Split(".")
strExt1 = strArr(strArr.Length - 1).ToLower
End If
'Checking Validation
If Not FileUpload1.HasFile Then
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Notification: Select files to upload.');</script>")
Return False
ElseIf (FileUpload1.HasFile And FileUpload1.FileName.LastIndexOf(".") = -1) Then
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Notification: Only .doc, .docx, .ppt, .pptx, .xls, .xlsx, .pdf, .zip, .rtf, .jpg, .jpeg, .gif files can be Uploaded.');</script>")
SetFocus(FileUpload1)
Return False
ElseIf strExt1 <> "doc" And strExt1 <> "docx" And strExt1 <> "xls" And strExt1 <> "xlsx" And strExt1 <> "ppt" And strExt1 <> "pptx" And strExt1 <> "pdf" And strExt1 <> "zip" And strExt1 <> "rtf" And strExt1 <> "jpg" And strExt1 <> "jpeg" And strExt1 <> "gif" And strExt1 <> "" Then
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Notification: Only .doc, .docx, .ppt, .pptx, .xls, .xlsx, .pdf, .zip, .rtf, .jpg, .jpeg, .gif files can be Uploaded.');</script>")
SetFocus(FileUpload1)
Return False
ElseIf retVal > 100 Then
' To Check File Name Length (100chars)
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Notification: Filename must not exceed 100 characters (including extension).');</script>")
Return False
ElseIf size > 10240000 Then 'Must not exceed 10 MB.
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language='javascript'>alert('Notification: Total Size of file (per Upload) must not exceed 10 MB.');</script>")
Return False
Else
Return True
End If
Catch ex As Exception
Return False
Throw ex
End Try
End Function
#End Region
#Region "Code for Clear the Text"
Protected Sub btnClear_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClear.Click
FileUpload1.Visible = True
End Sub
#End Region
#Region "Code for Close"
Protected Sub btnClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClose.Click
ClientScript.RegisterStartupScript(Me.GetType(), "onClick", "<script language='javascript'>window.close();</script>")
End Sub
#End Region
End Class