Emon Mahmud Ответов: 2

Загрузить изображение с помощью asp.net mvc


Дорогие все,
Я хочу загрузить изображение с помощью asp.net mvc 3. Я использую razor (cshtml).Мне не удалось закончить эту работу.
Я могу загрузить изображение с помощью asp.net веб-форма. но делать это нужно с помощью mvc.

Пожалуйста, помогите мне быстро завершить процесс.

Спасибо,
Имон Махмуд

2 Ответов

Рейтинг:
14

Sridhar Patnayak

Дорогой Махмуд,

Вы можете использовать HttpPostedFileBase.Метод InputStream. Read () считывает поток загрузки в буфер, а затем сохраняет его в поле базы данных. Например:

[HttpPost]
        public ActionResult Create(string fileTitle)
        {
            try
            {
                HttpPostedFileBase file = Request.Files[0];
                byte[] imageSize = new byte[file.ContentLength];
                file.InputStream.Read(imageSize, 0, (int)file.ContentLength);
                Image image = new Image()
                {
                    Name = file.FileName.Split('\\').Last(),
                    Size = file.ContentLength,
                    Title = fileTitle,
                    ID = 1,
                    Image1 = imageSize
                };
                db.Images.AddObject(image);
                db.SaveChanges();
                return RedirectToAction("Detail");
            }
            catch(Exception e)
            {
                ModelState.AddModelError("uploadError", e);
            }
            return View();
        }


Смотреть

  @using (Html.BeginForm("Create", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <fieldset>
        <legend>Upload Image</legend>

        @Html.Label("Title")
        @Html.Editor("fileTitle")<br />
        Upload File: <input type="file" name="test" />
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}


Я думаю, что это будет полезно для вас

Спасибо


Рейтинг:
0

Treveshan

Привет проверьте эту ссылку

http://www.dotnetdreamer.net/upload-imagedisplay-image-in-aspnet-mvc[^]


CHill60

Посту уже более 3 лет, и он имеет общепринятое решение. Связь разорвана.