Monday, August 10, 2009

How to upload files in ASP .NET


Asking the user to upload
a file to the server is a very very common task in
most of the web applications. In classic ASP, uploading file was a very
difficult task, since we need a third party component or we need to write our
component to upload file from client to the server. In ASP .NET Uploading a file from client to the web server is so easy.
To be precise, we can get this done in two lines of code. Yes, two lines of
code. In this article, we will be looking into the following:




  • How to Upload a file from
    Client to the Web server in ASP .NET?




First of all, we need a
HTML server control to allow the user to select the file. This is nothing but
the same old <input tag, with the type set to File, such as <input
type=file id=myFile runat=server
/>
. This will give you the textbox and a browse button. Once you have
this, the user can select any file from their computer (or even from a
network). Then, in the Server side, we need the following line to save the file
to the Web Server.


myFile.PostedFile.SaveAs("DestinationPath")

Example: Uploading a File in ASP .NET




<html>

<head>

<script language="VB" runat="server">



Sub Upload(Source As Object, e As EventArgs)



If Not (myFile.PostedFile Is
Nothing) Then



Dim intFileNameLength
as Integer

Dim strFileNamePath
as String

Dim strFileNameOnly
as String



'Logic to find the FileName
(excluding the path)

strFileNamePath
= MyFile.PostedFile.FileName

intFileNameLength
= Instr(1, StrReverse(strFileNamePath), "\")

strFileNameOnly
= Mid(strFileNamePath, (Len(strFileNamePath)-intFileNameLength)+2)



myFile.PostedFile.SaveAs("c:\inetpub\wwwroot\yourwebapp\upload\"
& strFileNameOnly)

lblMsg.Text =
"File Upload Success."



End If

End Sub

</script>



</head>

<body>



<h3>File Upload</h3>



<form enctype="multipart/form-data" runat="server">

File: <input id="myFile"
type="file" runat="server">

<asp:label id=lblMsg runat="server"
/>

<input type=button value="Upload" OnServerClick="Upload" runat="server">

</form>



</body>

</html>




In the above example, you
should note that, in the FORM tag, we have set the ectype to "multipart/form-data".
This is another important aspect while uploading a file to the web server. We
have a Input
tag which is of type file
. Then we have a button called
"Upload". On the onclick of the button, you
can see that, we are using some string functions to find the FileName (excluding the path). Finally, we invoke the
method SaveAs
to save the file (upload) in the web server.

0 comments:

Post a Comment