HOW TO UPLOAD FILE IN ASP.NET MVC 3.0?

Ankit Singh

Total Post:341

Points:2389
Posted by  Ankit Singh
C#  Mvc3  File  Upload 
 1031  View(s)
Ratings:
Rate this:
I want to upload file in asp.net mvc. How can I upload the file using html input file control?
  1. Tanuj Kumar

    Post:134

    Points:940
    Re: How to Upload File in ASP.NET MVC 3.0?

    You don't use a file input control. Server side controls are not used in ASP.NET MVC.

    So you would start by creating an HTML form which would contain a file input:

    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))

    {

        <input type="file" name="file" />

        <input type="submit" value="OK" />

    }

    and then you would have a controller to handle the upload:

    public class HomeController : Controller

    {

        // This action renders the form

        public ActionResult Index()

        {

            return View();

        }

     

        // This action handles the form POST and the upload

        [HttpPost]

        public ActionResult Index(HttpPostedFileBase file)

        {

            // Verify that the user selected a file

            if (file != null && file.ContentLength > 0)

            {

                // extract only the fielname

                var fileName = Path.GetFileName(file.FileName);

                // store the file inside ~/App_Data/uploads folder

                var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);

                file.SaveAs(path);

            }

            // redirect back to the index action to show the form once again

            return RedirectToAction("Index");       

        }

    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!