Monday, December 8, 2014

How to Upload Images in MVC

View:
-------

UpImage1.cshtml:

@{
    ViewBag.Title = "UpImage1";
}

<h2>UpImage1</h2>
@using (Html.BeginForm("UpImage1", "Home", FormMethod.Post,
                            new { enctype = "multipart/form-data" }))
{
    <label for="file">Upload Image:</label>
    <input type="file" name="file" id="file" style="width: 100%;" />
    <input type="submit" value="Upload" class="submit" />
}

Action:
--------


        public ActionResult UpImage1()
        {
            return View();
        }
        [HttpPost]
        public ActionResult UpImage1(HttpPostedFileBase file)
        {
            if (file != null)
            {
                string pic = System.IO.Path.GetFileName(file.FileName);
                string path = System.IO.Path.Combine(
                                       Server.MapPath("~/images/"), pic);
                // file is uploaded
                file.SaveAs(path);

                // save the image path path to the database or you can send image
                // directly to database
                // in-case if you want to store byte[] ie. for DB
                using (MemoryStream ms = new MemoryStream())
                {
                    file.InputStream.CopyTo(ms);
                    byte[] array = ms.GetBuffer();
                }

            }
            // after successfully uploading redirect the user
            return RedirectToAction("Index", "Home");
        }

No comments:

Post a Comment