Click here to Skip to main content
15,899,679 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I an uploading multiple file with asyncronusly using html5 file API with xhr = new XMLHttpRequest();...
At Controller side it takes as object but giving me error as object doesnt contain method SaveAs...
my code is...
        [HttpPost]
        public ActionResult Upload(object fileToUpload1)
        {

            var length = Request.ContentLength;
            var bytes = new byte[length];
            Request.InputStream.Read(bytes, 0, length);
            // bytes has byte content here. what do do next?

            var fileName = Request.Headers["X-File-Name"];
            var fileSize = Request.Headers["X-File-Size"];
            var fileType = Request.Headers["X-File-Type"];
           // var fileSize = Request.Headers["X-File-Size"];

            var file = Request.Headers["X-File"];
            var imagePath = Path.Combine(Server.MapPath(Url.Content("~/Uploads")), fileName);

//below it give error
            fileToUpload1.SaveAs(imagePath);
            if (fileToUpload1 == null)
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }
            else { return Json(false, JsonRequestBehavior.AllowGet); }
          
         // return Json(false, JsonRequestBehavior.AllowGet);
        }


HTML code
<form class="form1" enctype="multipart/form-data" method="post" action="@Url.Action("Upload")" >
                	    <input class="fileToUpload1" name="fileToUpload1" type="file" multiple="multiple" />
       </form>                 

also data i am sending is ...
xhr.open("POST", "@Url.Action("Upload","Home")", true);

                          // Set appropriate headers
                          xhr.setRequestHeader("Cache-Control", "no-cache");
                          xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                          xhr.setRequestHeader("Content-Type", "multipart/form-data");
                          xhr.setRequestHeader("X-File-Name", file.fileName);
                          xhr.setRequestHeader("X-File-Size", file.fileSize);
                          xhr.setRequestHeader("X-File-Type", file.type);
                         xhr.setRequestHeader("X-File", file);

                          // Send the file (doh)
                          xhr.send(file);
Posted
Updated 5-Dec-11 19:00pm
v3
Comments
[no name] 6-Dec-11 1:00am    
EDIT: added code block

1 solution

i just write at controller side..
Request.SaveAs("D:\\uploadimage\\" + fileName, false);
.
It works...
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900