Print
Add To Favorites
Email To Friend
Rate This Article
|
Adding Filter Action to FileUpload Control of ASP.NET 2.0
|
by Soyuj Kumar Sahoo
Feedback
|
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days):
40956/
719
|
|
|
|
| Server Side Approach |
In the btnUpload_Click() event of "btnUpload" we
have to add the following code, which will check the maximum size of the file
and also filter the extension.
Listing 4: Server side filter action
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles btnUpload.Click
Try
Dim intDocFileLength As Integer = Me.fileDocument.PostedFile.ContentLength
Dim strPostedFileName As String = Me.fileDocument.PostedFile.FileName
If intDocFileLength > 4096000 Then '4MB
Me.lblUploadErr.Text = "Image file size exceeds the limit of 4000 kb."
Exit Sub
End If
If (strPostedFileName <> String.Empty) Then
Dim strExtn As String = System.IO.Path.GetExtension(strPostedFileName).ToLower
If (strExtn = ".txt") Or (strExtn = ".doc") Or (strExtn = ".rtf") Or _
(strExtn = ".pdf") Or (strExtn = ".sxw") Or (strExtn = ".odt") Or _
(strExtn = ".html") Or (strExtn = ".stw") Or (strExtn = ".htm") Or _
(strExtn = ".sdw") Or (strExtn = ".vor") Then
Dim savePath As String = _
Server.MapPath(ConfigurationManager.AppSettings("UploadedPath")) & "\"
Me.fileDocument.PostedFile.SaveAs(savePath & _
System.IO.Path.GetFileName(strPostedFileName))
Me.lblUploadErr.Text = "Document uploaded successfully..."
Else
Me.lblUploadErr.Text = _
"Please upload a valid Document with the extenion in : <br>"
Me.lblUploadErr.Text + = _
".txt, .doc, .rtf, .pdf, .sxw, .odt, .stw, .html, .htm, .sdw Or .vor"
End If
Else
Me.lblUploadErr.Text = "There is no file to Upload."
End If
Catch ex As Exception
'TODO: Add the Error log entry logic!
End Try
End Sub
Let us move through the codes. The
fileDocument.PostedFile.ContentLength property of FileUpload control will give
the size of the posted file as bytes and the fileDocument.PostedFile.FileName
property will give the file name of the posted one. Then we check for the
maximum size which is fixed to 4 MB as 4096000 bytes here. Then we get the file
extension using the System.IO.Path.GetExtension() method of the input file. We
match the posted extension with our given extensions. If the match satisfies,
we do the Uploading action or else we show the error message in label.
|
|
|
|
|
Article Feedback
User Comments
Title:
Thats a bad way of identifying files
Name:
Mike
Date:
6/15/2009 4:20:42 AM
Comment:
You really shouldn't be using the file extension as an identifier to the type of file. Use the MIME type.
|
Title:
Thanks Buddy!
Name:
Ajinkya
Date:
5/23/2009 12:39:11 AM
Comment:
I think This article is very usefull fou me!
|
Title:
I have a idear
Name:
wwvww
Date:
4/26/2009 6:10:49 AM
Comment:
string fileName=fu.FileName;//fu is a entity of FileUpload private string GetFileType() { return this.fileName.Substring(this.fileName.LastIndexOf("."), this.fileName.Length - this.fileName.LastIndexOf(".")); } if(GetFileType()!=".doc") { HttpContext.Response.Write("please upload the .doc file"); }
|
Title:
What I want is a propertity name of Filer
Name:
wwvww
Date:
4/26/2009 6:01:20 AM
Comment:
the js is too long to read,do you have another better idear?
|
Title:
Please i want FIlter
Name:
Vishakha
Date:
2/23/2009 11:40:58 PM
Comment:
I was expecting that when I click on Browse button, It will list only different type of text files as specified ".xls", ".doc", ".rtf", ".pdf", ".html", ".htm", ".sdw", ".vor"
Where as I am getting various other files too. I expect it would filter initially and should not validate after it is selected.
|
Title:
There is not any kind of filter i seen,
Name:
Manish
Date:
2/3/2009 1:03:32 AM
Comment:
I was expecting that when I click on Browse button, It will list only different type of text files as specified ".txt", ".doc", ".rtf", ".pdf", ".sxw", ".odt", ".stw", ".html", ".htm", ".sdw", ".vor"
Where as I am getting various other files too. I expect it would filter initially and should not validate after it is selected.
Thanks manishwc@gmail.com
|
Title:
How to retrieve File date info?
Name:
NP
Date:
8/14/2008 10:12:15 PM
Comment:
Is there a way to retrieve last modified or created dates for file using the file upload control? I use file upload control to mainly get the file bytes and use it to store file contents in database. However, my requirement is also to have original file date from client side and to store it in database. I am unable to get the date stamp from client side Appreciate any help.
|
Title:
File Upload Issue
Name:
Rekha
Date:
7/28/2008 1:37:35 AM
Comment:
Hi.. When I click on the Browse button the Choose File dialog should open in thumbnail view always.. Is this possible and if yes then how? Pls help
|
Title:
Thanks
Name:
b@2te
Date:
7/22/2008 2:42:06 AM
Comment:
Thanks
|
Title:
Good
Name:
Mr.6
Date:
7/1/2008 2:38:23 AM
Comment:
this article is very good.
|
Title:
Good article
Name:
Mehul Bhuva
Date:
4/9/2008 6:53:20 AM
Comment:
It is a nice article..Keep it up
|
Title:
Excellent Work
Name:
ali raza
Date:
4/8/2008 7:40:38 AM
Comment:
nice article, keep working
|
Title:
File Filters
Name:
Haissam Abdul Malak
Date:
4/3/2008 2:00:41 AM
Comment:
Good article. However, you can use flash and ASP.NET to set the file filters on the open dialog box itself and to upload multiple files at one. http://dotnetslackers.com/community/blogs/haissam/archive/2008/03/29/upload-multiple-files-using-asp-net-amp-adobe-flex.aspx
|
|
Product Spotlight
|
|
|