Upload and save File in Folder (Directory) using AJAX FormData and Generic Handler in ASP.Net

Last Reply 5 months ago By dharmendr

Posted 5 months ago


i am using this solution Upload File using FormData and AJAX in ASP.Net

it works in outside page like url/default.aspx

but the same code not working if use in url/news/feed.aspx

it sents blank file name

please advice

    <input type="file" name="postedFile" />
    <input type="button" id="btnUpload" value="Upload" />
    <progress id="fileProgress" style="display: none"></progress>
    <hr />
    <span id="lblMessage" style="color: Green"></span>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        $("body").on("click", "#btnUpload", function () {
                url: 'HandlerCS.ashx',
                type: 'POST',
                data: new FormData($('form')[0]),
                cache: false,
                contentType: false,
                processData: false,
                success: function (file) {
                    $("#lblMessage").html("<b>" + file.name + "</b> has been uploaded.");
                xhr: function () {
                    var fileXhr = $.ajaxSettings.xhr();
                    if (fileXhr.upload) {
                        fileXhr.upload.addEventListener("progress", function (e) {
                            if (e.lengthComputable) {
                                    value: e.loaded,
                                    max: e.total
                        }, false);
                    return fileXhr;


<%@ WebHandler Language="C#" Class="HandlerCS" %>

using System;
using System.IO;
using System.Net;
using System.Web;
using System.Web.Script.Serialization;

public class HandlerCS : IHttpHandler

    public void ProcessRequest(HttpContext context)
        //Check if Request is to Upload the File.
        if (context.Request.Files.Count > 0)
            //Fetch the Uploaded File.
            HttpPostedFile postedFile = context.Request.Files[0];
            //Set the Folder Path.
            string folderPath = context.Server.MapPath("~/Uploads/");

            //Set the File Name.
            string fileName = Path.GetFileName(postedFile.FileName);
            //Save the File in Folder.
            postedFile.SaveAs(folderPath + fileName);

            //Send File details in a JSON Response.
            string json = new JavaScriptSerializer().Serialize(
                    name = fileName
            context.Response.StatusCode = (int)HttpStatusCode.OK;
            context.Response.ContentType = "text/json";

    public bool IsReusable
            return false;
This question does not have replies that have been liked.