Uploading Multiple Files in ASP.NET 2.0In ASP.NET 2.0, the FileUpload control enables the users to upload the files from your web pages. The FileUpload control consists of a text box and a browse button. Clicking on the button allows the users to select a file on the client and upload it to the server.
Let us start with uploading multiple files on a single "click". Follow these 2 steps:
Step 1:
Drag and drop multiple (according to the suggested code, 4 can be dragged and dropped) FileUpload controls to the designer.
Step 2:
Drop a Button control and rename it to "Upload".
Following is the aspx code:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Make Multiple Upload</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:FileUpload ID="FileUpload2" runat="server" /><br />
<asp:FileUpload ID="FileUpload3" runat="server" /><br />
<asp:FileUpload ID="FileUpload4" runat="server" />
<br />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click1" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Following is the aspx.vb code:
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub btnUpload_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
Try
'To Upload Multiple Files on Single Click
Dim hfc As HttpFileCollection = Request.Files
For i As Integer = 0 To hfc.Count - 1
Dim hpf As HttpPostedFile = hfc(i)
If hpf.ContentLength > 0 Then
hpf.SaveAs((Server.MapPath("MyFiles") & "\") + Path.GetFileName(hpf.FileName))
End If
Next
Catch ex As Exception
End Try
End Sub
End Class
Add a tag in web.config file,
<httpRuntime
executionTimeout="200"
maxRequestLength="8192"
requestLengthDiskThreshold="256"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="5000"
enableKernelOutputCache="true"
enableVersionHeader="true"
requireRootedSaveAsPath="true"
enable="true"
shutdownTimeout="90"
delayNotificationTimeout="5"
waitChangeNotification="0"
maxWaitChangeNotification="0"
enableHeaderChecking="true"
sendCacheControlHeader="true"
apartmentThreading="false"/>
When you run the application; output will be: