Introduction:
Here I will explain how to upload files using jQuery with generic handler (ashx) in asp.net using c#, vb.net or upload file to server using jQuery in asp.net in c#, vb.net or asynchronous file upload in asp.net using jQuery, c#, vb.net.
Description:
In previous articles I explained jQuery call asp.net page methods from json, 7 + jQuery multiple fileupload plugin examples, jQuery check file size before upload in asp.net, jQuery setInterval() function example, jQuery upload multiple files using uplodify plugin in asp.net and many articles relating to jQuery, JavaScript and asp.net. Now I will explain how to upload files using jQuery with generic handler (ashx) in asp.net using c#, vb.net.
In previous articles I explained jQuery call asp.net page methods from json, 7 + jQuery multiple fileupload plugin examples, jQuery check file size before upload in asp.net, jQuery setInterval() function example, jQuery upload multiple files using uplodify plugin in asp.net and many articles relating to jQuery, JavaScript and asp.net. Now I will explain how to upload files using jQuery with generic handler (ashx) in asp.net using c#, vb.net.
To upload files using jQuery
with generic handler (ashx) in asp.net
first create the new web application and open Default.aspx page and write the following code
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>uploading file using
jquery with generic handler ashx</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#btnUpload').click(function () {
var fileUpload = $("#FileUpload1").get(0);
var files =
fileUpload.files;
var test = new FormData();
for (var i = 0; i < files.length; i++) {
test.append(files[i].name, files[i]);
}
$.ajax({
url: "UploadHandler.ashx",
type: "POST",
contentType: false,
processData: false,
data: test,
// dataType: "json",
success: function (result) {
alert(result);
},
error: function (err) {
alert(err.statusText);
}
});
});
})
</script>
</head>
<body>
<form id="form1"
runat="server">
<div>
<input type="file"
id="FileUpload1"
/>
<input type="button"
id="btnUpload"
value="Upload
Files"/>
</div>
</form>
</body>
</html>
|
If you observe jQuery
ajax method in above code we mentioned “UploadHandler.ashx” by using this file we will upload files in server side. Now add handler
file in your application by following below steps
Right click on your application à select Add
New Item à select Generic
Handler file à Give a name and click Add button like as shown below
Once you finished adding handler file now add new
folder in your application “uploads” that would be like as shown below
Now open UploadHandler.ashx file and write
the following code
C#
Code
|
VB.NET
Code
|
Now run your application that will allow you to
upload files in upload folder using handler files.
Demo
Download
Sample Attached
If you enjoyed this post, please support the blog below. It's FREE! Get the latest Asp.net, C#.net, VB.NET, jQuery, Plugins & Code Snippets for FREE by subscribing to our Facebook, Twitter, RSS feed, or by email. |
|||
|
|||
8 comments :
formData is undefined.
Worked like a charm!
Thank you, Suresh, for sharing this!
Não funciona.
Hi, context.Request.Files.Count is always returning Zero.I don't know where i was wrong.
formData is undefined. error
working perfect .. Thanks can we get guide for postman
Hi Suresh,
If I have to call the same hadler from the C# Code behind, how it will be. Could you please help on this
i tried the below but it is not sending file
const string FILE_PATH = "C:\\Docs\\SampleCV.csv";
const string FILE_NAME = "SampleCV";
string UPLOADER_URI = string.Format("http://testserver:82/ExportData.ashx?FILE_NAME={0}", FILE_NAME);
using (var stream = File.OpenRead(FILE_PATH))
{
var httpRequest = WebRequest.Create(UPLOADER_URI) as HttpWebRequest;
httpRequest.Method = "POST";
Stream webStream = null;
try
{
if (stream != null && stream.Length > 0)
{
long length = stream.Length;
httpRequest.ContentLength = length;
webStream = httpRequest.GetRequestStream();
stream.CopyTo(webStream, 32768);
}
}
finally
{
if (null != webStream)
{
webStream.Flush();
webStream.Close();
}
}
using (HttpWebResponse response = (HttpWebResponse)httpRequest.GetResponse())
{
StreamReader reader = new StreamReader(response.GetResponseStream());
var responseString = reader.ReadToEnd();
lblMsg.Text = "Posted to server. Response is : " + responseString; ;
}
}
not working.
Note: Only a member of this blog may post a comment.