Thursday, December 15, 2016

Upload File Using XMLHttpRequest and .Net

Java Script Code

function SaveFiles(id) {

        var fileInput = document.getElementById('fileInput');
        var file = $("#fileInput").val();

        if (file.length > 0) {
            var fd = new FormData();
            fd.append('id', id);
            fd.append('name', 1);
            var xhr = new XMLHttpRequest();
            xhr.open('POST', '/Admin/UploadSlider?id=' + id + "&name=1");
            xhr.setRequestHeader('Content-type', 'multipart/form-data');

            //Appending file information in Http headers
            xhr.setRequestHeader('X-File-Name', fileInput.files[0].name);
            xhr.setRequestHeader('X-File-Type', fileInput.files[0].type);
            xhr.setRequestHeader('X-File-Size', fileInput.files[0].size);
            xhr.setRequestHeader['X-File-FileName', 1];
            xhr.setRequestHeader['X-File-Id', id];

            //Sending file in XMLHttpRequest
            xhr.send(fileInput.files[0]);
            xhr.onreadystatechange = function (data) {

                f = data.currentTarget.responseText;
                var ImgPath = f.replace(/"/g, '');

                if (xhr.readyState == 4 && xhr.status == 200) {

                    $("#img_" + id).attr('src', ImgPath);

                    toastMessageSuccess("Slider Updated Successfully...");


                   
                    $("#fileInput").val("");

                }
            }
        }
        else {
            location.reload(true);
        }
    }



C# .Net Code

[HttpPost]
        public JsonResult UploadSlider(string id, string name)
        {
            string fileName = Request.Headers["X-File-Name"];
            string fileType = Request.Headers["X-File-Type"];
            int fileSize = Convert.ToInt32(Request.Headers["X-File-Size"]);

            System.IO.Stream fileContent = Request.InputStream;
            System.IO.FileStream fileStream = System.IO.File.Create(Server.MapPath("~/UploadImg/slider/" + fileName));
            fileContent.Seek(0, System.IO.SeekOrigin.Begin);

            //Copying file's content to FileStream
            fileContent.CopyTo(fileStream);
            fileStream.Dispose();

            string old = Server.MapPath("~/UploadImg/slider/" + fileName);

            string FileName = DateTime.Now.ToString("ddMMyyhhmmssffff");

            string ThumbFile = Server.MapPath("~/UploadImg/slider/" + FileName + Path.GetExtension(old));

            ResizeImage(old, ThumbFile, 848, 460);

            ThumbFile = Path.GetFileName(ThumbFile);

            var data = db.TBLSliders.FirstOrDefault(i => i.Id == Convert.ToInt32(id));

            if (data != null)
            {
                if (name == "1")
                {
                    data.SliderImg = "UploadImg/slider/" + ThumbFile;
                }
                db.SubmitChanges();
            }
            return Json(data.SliderImg);
        }

No comments:

Post a Comment