{"id":8840,"date":"2021-03-10T17:53:22","date_gmt":"2021-03-10T12:23:22","guid":{"rendered":"https:\/\/www.h2kinfosys.com\/blog\/?p=8840"},"modified":"2021-03-10T17:53:49","modified_gmt":"2021-03-10T12:23:49","slug":"file-upload-and-download-in-asp-net","status":"publish","type":"post","link":"https:\/\/www.h2kinfosys.com\/blog\/file-upload-and-download-in-asp-net\/","title":{"rendered":"File Upload and Download in ASP.NET"},"content":{"rendered":"\n<p>File Upload is an input controller that is used to upload files to the server. It will create a browse button on the form that pops up a window to select the local machine&#8217;s file.<\/p>\n\n\n\n<p>To implement FileUpload, we can drag it from the toolbox in visual studio.<\/p>\n\n\n\n<p>This is a<a href=\"https:\/\/en.wikipedia.org\/wiki\/Server-side\" class=\"rank-math-link\" rel=\"nofollow noopener\" target=\"_blank\"> server-side control<\/a>, and ASP.NET provides its tag to create it. The example is given below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt; asp:FileUpload ID=\"FileUpload\" runat=\"server\"\/>  <\/code><\/pre>\n\n\n\n<p>The server renders it as the HTML control and produces the following code to the browser.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;input name=\"FileUpload\" id=\"FileUpload\" type=\"file\"><\/code><\/pre>\n\n\n\n<p><strong>FileUpload Property Window:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/UBZGaVgjhdELs8ZwQEyh1-SV4QTmQC4Jxknyl_onA4w2X1G1vmupELUd20bMUMU8u3o6QAW2DPDs4CyLY2sgXSDCY4YHiTVyK8Hl_af7t0DWqp9-KdwpacjfITGlH0nv7Oh9xLc\" alt=\"ASP FileUpload 1\" title=\"\"><\/figure><\/div>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<p>Here, we are going to implement file upload control in a web form.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ WebControlForm.aspx<\/strong>\n&lt;%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"WebControlForm.aspx.cs\"&nbsp;&nbsp;&nbsp;\nInherits=\"WebFormsControlls.WebControls\" %&gt;&nbsp;&nbsp;\n&lt;!DOCTYPE html&gt;&nbsp;&nbsp;\n&lt;html xmlns=\"https:\/\/www.w3.org\/1999\/xhtml\"&gt;&nbsp;&nbsp;\n&lt;head runat=\"server\"&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;&lt;\/title&gt;&nbsp;&nbsp;\n&lt;\/head&gt;&nbsp;&nbsp;\n&lt;body&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;form id=\"upload\" runat=\"server\"&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Browse to Upload File&lt;\/p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:FileUpload ID=\"FileUpload\" runat=\"server\" \/&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Button ID=\"upload\" runat=\"server\" Text=\"Upload File\" OnClick=\"Button_Click\" \/&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/form&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Label runat=\"server\" ID=\"UploadStatus\"&gt;&lt;\/asp:Label&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/p&gt;&nbsp;&nbsp;\n&lt;\/body&gt;&nbsp;&nbsp;\n&lt;\/html&gt;&nbsp;\n<\/pre>\n\n\n\n<p><strong>Code<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ WebControlForm.aspx.cs<\/strong>\nusing System;&nbsp;&nbsp;\nusing System.Collections.Generic;&nbsp;&nbsp;\nusing System.Linq;&nbsp;&nbsp;\nusing System.Web;&nbsp;\nusing System.Web.UI.WebControls;&nbsp;&nbsp;\nnamespace WebFormsControlls&nbsp;&nbsp;\n{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public partial class WebControls : System.Web.UI.Page&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected System.Web.UI.HtmlControls.HtmlInputFile File;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected System.Web.UI.HtmlControls.HtmlInputButton Submit;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void PageLoad(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void Button_Click(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((FileUpload.PostedFile != null) &amp;&amp; (FileUpload.PostedFile.ContentLength &gt; 0))&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string fn = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string SaveLocation = Server.MapPath(\"upload\") + \"\\\\\" + fn;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileUpload.PostedFile.SaveAs(SaveLocation);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = \"The file has been uploaded.\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = \"Error: \" + ex.Message;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = \"Please select a file to upload.\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n}&nbsp;\n<\/pre>\n\n\n\n<p>We will then create a directory into the project to store uploaded files as we did in the below screenshot.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/4RIi6TFouqKpwFqV5r57lNY-i5Nc377ViY0LwH2JZPcDcpPR7Nt4iC-Unf1jiaIJun8X0GXjnwAuvTmv1WR81dLUEWcQ1ZARh-UX01_MyE1w1S67FIGKYFzTD-PObsOYpzEFGJA\" alt=\"ASP FileUpload 2\" title=\"\"><\/figure><\/div>\n\n\n\n<p><strong>Output:<\/strong><\/p>\n\n\n\n<p>Run the code. It produces the following output.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/lWw3Y_DfsWMR-Id45LxWUczrpU6sPwFRyeKi5fzGiTb1JdsiUMbnTAU-fP5hpvEWG7u0_SRJLZ7ZWeVg6GEJWIdJH41KHPy8cu7L9VwFX-k0HM56yCxzj3vTC4JgZisCtVuQjqo\" alt=\"ASP FileUpload 3\" title=\"\"><\/figure>\n\n\n\n<p>We are now uploading a file c# programs.txt.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/4Rn5Ffapm98BmDn0TuPGebw50vPyr2P7zRwIWa2P78x7J1sHuDVa-fjMIV5HBZhTyOlCfFDaJmpc6UXxWKKd9mxyPdlV2rgVUjp1SyAtqDDSkmKW_7uTbDFCVbd1Kf_zbAgTlFE\" alt=\"ASP FileUpload 4\" title=\"\"><\/figure>\n\n\n\n<p>It now displays a successful file uploaded message after uploading, as shown in the following screenshot.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Odyp_3Cb5_lHMUEQWFJ_f4Zaei4e-bnMdo8sfMPkGOJhc_uftOAprweAdT3BFOOEJLGFxEtSTyGoPaAtVqoyT1WPzTAzhwZ-9WI7_pSIFBqShGwo23zwOUVU7VQaf2hK-OtOUQQ\" alt=\"ASP FileUpload 5\" title=\"\"><\/figure>\n\n\n\n<p>This file is stored in the upload folder. Look inside the folder, and it shows the uploaded file is present.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/nF0OVUNAfiCdKU-cCMkPR2DkaFLq7eHmulc9lY1XZFsw2TDeXtXW1xHjbQWhf-sCkVAlUYcBc6ge86gvb0e4-lhrFTuXij-ld9kKSuTmaAvVHbY_ci1wVotiBOvHDl_s1Iw1QB0\" alt=\"ASP FileUpload 6\" title=\"\"><\/figure><\/div>\n\n\n\n<p><strong>ASP.NET Upload Multiple Files:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.h2kinfosys.com\/blog\/file-upload-and-download-in-asp-net\/\" class=\"rank-math-link\">ASP.NET FileUpload<\/a> control provides AllowMultiple property for uploading multiple files to the server that takes either true or false value.<\/p>\n\n\n\n<p>The &lt;asp:FileUpload&gt; tag is used for creating a browse button to upload a file. Let&#8217;s create an example to upload multiple files.<\/p>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<p>This example contains the following files.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ UploadMultipleFilesExample.aspx<\/strong>\n&lt;%@ Page Language=\"C#\" AutoEventWireup=\"true\"&nbsp;&nbsp;&nbsp;\nCodeBehind=\"UploadMultipleFilesExample.aspx.cs\" Inherits=\"UploadMultipleExample.UploadMultipleFilesExample\" %&gt;&nbsp;&nbsp;\n&lt;!DOCTYPE html&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;html xmlns=\"https:\/\/www.w3.org\/1999\/xhtml\"&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;head runat=\"server\"&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;&lt;\/title&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/head&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;body&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form id=\"multiple\" runat=\"server\"&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h3&gt;Upload Multiple Files&lt;\/h3&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:FileUpload ID=\"FileUpload\" runat=\"server\" AllowMultiple=\"true\" \/&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Button ID=\"upload\" runat=\"server\" Text=\"Upload File\" OnClick=\"Button_Click\" \/&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/p&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/form&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Label runat=\"server\" ID=\"UploadStatus\"&gt;&lt;\/asp:Label&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/p&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/body&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/html&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ UploadMultipleFilesExample.aspx.cs<\/strong>\nusing System;&nbsp;&nbsp;\nusing System.Collections.Generic;&nbsp;&nbsp;\nusing System.Linq;&nbsp;&nbsp;\nusing System.Web;&nbsp;&nbsp;\nusing System.Web.UI;&nbsp;&nbsp;\nusing System.Web.UI.WebControls;&nbsp;&nbsp;\nnamespace UploadMultipleExample&nbsp;&nbsp;\n{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public partial class UploadMultipleFilesExample : System.Web.UI.Page&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void PageLoad(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void Button_Click(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((FileUpload.PostedFile != null) &amp;&amp; (FileUpload.PostedFile.ContentLength &gt; 0))&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var count = 0;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (HttpPostedFile uploadedFile in FileUpload.PostedFiles)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string fn = System.IO.Path.GetFileName(uploadedFile.FileName);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string SaveLocation = Server.MapPath(\"upload\") + \"\\\\\" + fn;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadedFile.SaveAs(SaveLocation);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = \"Error: \" + ex.Message;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (count &gt; 0)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = count + \" files has been uploaded.\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UploadStatus.Text = \"Please select a file to upload.\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n}&nbsp;\n<\/pre>\n\n\n\n<p><strong>Output:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/OfhK0918UwUjVPcTAs3wmnWwmudJzpXvx3naBD85Jr_wwIqXN0N8dY66cIpI9F_YCHJlPA9RpJ4VFVUFd280xng_EzicH8j2BVyFp8dR_f0dzTPF7uIXPKYIv1r5elt7vsP1rKg\" alt=\"ASP Net Upload Multiple File 1\" title=\"\"><\/figure>\n\n\n\n<p>Select 2 files to upload.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/nu2WcWHSxCSTrbSq2acQrsVM8d3_xlOmDJ_wK-MeU7YgcO1RqBYA2M7ji4JxzETyXa1r8X--Qtylptr2OhZAKpK4Yd6SMbrBGOZsN7IZfIOQMT-gqe1Y4UY5bOPyz3la0DMLzo4\" alt=\"ASP Net Upload Multiple File 2\" title=\"\"><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/qWKo4WHQRN_JL32lHdwY_4SqG3ZQgC378CYTxFZwfxDju8voVDPrFQy5HvAWPRvRk2-ry5ck2DtxdZkIbxjsOYjCRS6E1I300ijpDRpNz9MH-1mJl5DsZssfsiR8eK98HvnLPtY\" alt=\"ASP Net Upload Multiple File 3\" title=\"\"><\/figure>\n\n\n\n<p>Initially, the upload folder is empty.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/TJBE7D11C4jI-gjDkEnaeJ8UxoU8CgdNIp59HzyK2vpEQRb3fdKLCtrQ0CkUYy0J581hyLzUtgIErwzwlePX6jYZrhYrNu03Tj9joAVqHM74m7drRCy2Mdp9ZUIlxy_R_1gDhHo\" alt=\"ASP Net Upload Multiple File 4\" title=\"\"><\/figure><\/div>\n\n\n\n<p>Uploading files to the server.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/3AImNrwqJrxU7IkrnnPQNWvhhZjW6vTzcSK4vwWyys3LofXDiu067o1bWWt576ZXuTvcFUJg46DLKNdECllCEbxOrJheOVh_1yPWfTdeLerw0ZfE8xfEwpoxBFOY-74ig-HcQlM\" alt=\"ASP Net Upload Multiple File 5\" title=\"\"><\/figure>\n\n\n\n<p>Now, look at the upload folder. It contains uploaded two files.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/OpP7-2hMAxnSQAJhtE_H3Z2wLVNfiUg5V_PUokipXHiOxKzIWkRUBgaHU3eKYrnKRE1nF1aO5oiDurkV7CuqsaeXNfE4swZ4dL_k9qRjQwkwQWFcvbaH2cx_RcoKiCK2Yh2UHGU\" alt=\"ASP Net Upload Multiple File 6\" title=\"\"><\/figure><\/div>\n\n\n\n<p><strong>ASP.NET Download File<\/strong><\/p>\n\n\n\n<p>ASP.NET provides implicit object Response and their methods to download a file from the server. We can use these methods to add the feature of downloading a file from the server to the local machine.<\/p>\n\n\n\n<p>Here, we will create an example that allows us to download the file.<\/p>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ Default.aspx<\/strong>\n&lt;%@ Page Title=\"Home Page\" Language=\"C#\" AutoEventWireup=\"true\"&nbsp;&nbsp;&nbsp;\nCodeBehind=\"Default.aspx.cs\" Inherits=\"FileDownload_Default\" %&gt;&nbsp;&nbsp;\n&lt;form id=\"download\" runat=\"server\"&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Click on the button to download a file&lt;\/p&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Button ID=\"downloadButton\" runat=\"server\" OnClick=\"Button_Click\" Text=\"Download\" \/&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;br \/&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;br \/&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:Label ID=\"downloadLabel\" runat=\"server\"&gt;&lt;\/asp:Label&gt;&nbsp;&nbsp;\n&lt;\/form&gt;&nbsp;\n<\/pre>\n\n\n\n<p><strong>Code<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\/\/ Default.aspx.cs<\/strong>\nusing System;&nbsp;&nbsp;\nusing System.Collections.Generic;&nbsp;&nbsp;\nusing System.IO;&nbsp;&nbsp;\nusing System.Linq;&nbsp;&nbsp;\nusing System.Web;&nbsp;&nbsp;\nusing System.Web.UI;&nbsp;&nbsp;\nusing System.Web.UI.WebControls;&nbsp;&nbsp;\nnamespace FileDownloadExample&nbsp;&nbsp;\n{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public partial class _Default : Page&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void PageLoad(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected void Button_Click(object sender, EventArgs e)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string filePath = \"C:\\\\Users\\\\Admin\\\\Desktop\\\\abc.txt\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileInfo file = new FileInfo(filePath);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (file.Exists)&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Clear Rsponse reference&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Clear();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Add header by specifying a file name&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader(\"Content-Disposition\", \"attachment; filename=\" + file.Name);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Add header for content length&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader(\"Content-Length\", file.Length.ToString());&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Specify content type&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.ContentType = \"text\/plain\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Clearing flush&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Flush();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Transimiting file&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.TransmitFile(file.FullName);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.End();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else Label.Text = \"Requested file is not available for download\";&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\n}&nbsp;&nbsp;\n<\/pre>\n\n\n\n<p><strong>Output:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/ysW7HJOxOC714Ydkg0CHbPpbFvttCmqvzoDMP8ffu3_4UQ4_ZGrc_2jImmR20XvPPct-k-u5VekNI-nPcLnrp79sXDbGXQynfUyuK_9Ck-4zftlXOCsQETga6Sm6KyQolXOe1o0\" alt=\"ASP Net Downloadfile 1\" title=\"\"><\/figure>\n\n\n\n<p>The above application will prompt a window to download the file from the server.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/TuvV_NgN4ca0rttqUtiAKAVgVeTH46HnqvELlJ5sDumLin3FjqYpp3-yl434wbjAM46DMeAUZ0W_31BmEK11aAqn8m662cRmHD0tVNx_aVwwJPcu5kRn6Vf3xyjGK6mikBRT470\" alt=\"ASP Net Downloadfile 2\" title=\"\"><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>File Upload is an input controller that is used to upload files to the server. It will create a browse button on the form that pops up a window to select the local machine&#8217;s file. To implement FileUpload, we can drag it from the toolbox in visual studio. This is a server-side control, and ASP.NET [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[499],"tags":[],"class_list":["post-8840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet-tutorials"],"_links":{"self":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/8840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/comments?post=8840"}],"version-history":[{"count":0,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/8840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media\/8844"}],"wp:attachment":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media?parent=8840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/categories?post=8840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/tags?post=8840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}