Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 09.08.2014
Сообщений: 10
1

Как поменять изображение в БД, через Админку?

18.08.2014, 01:36. Показов 2216. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Метод контроллера, обеспечивающий запись информации (в том числе и картинки) в БД:

Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create(Category category, HttpPostedFileBase uploadImage)
        {
            if (ModelState.IsValid)
            {
                byte[] imageData = null;
 
                using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                {
                    imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                }
                category.CImageData = imageData;
                db.Category.Add(category);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
 
            return View(category);
        }


Метод контроллера, обеспечивающий редактирование БД
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit(Category category )
        {
            if (ModelState.IsValid)
            {
                db.Entry(category).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(category);
        }


Кусок представления, отвечающий за загрузку картинки

Кликните здесь для просмотра всего текста

HTML5
1
2
3
4
<div class="editor-label">Файл изображения</div>
        <div class="editor-field">
            <input type="file" name="uploadImage" />
        </div>


Как сделать так, чтобы картинка полноценно пересохранялась. Пробывал переписать контроллер Edit по аналогии с Сreate -- вылетает исключение.
А если контроллер не трогать, а добавить в представление Edit
HTML5
1
<input type="file" name="uploadImage" />
, то строка БД, содержащая картинку обнуляется.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2014, 01:36
Ответы с готовыми решениями:

Как поменять изображение на кнопке через код?
Здравия всем! Дело такое, создаётся кнопка так: &lt;Button x:Name=&quot;button_window_state&quot;...

Как поменять пароль для входа в админку!
Пожалуйста, помогите поменять пароль для входа в админку!!! Спасибо!

Как отредактировать тему через админку?
Взялась за WordPres т.к. думала, что с ней легко, а там дурдом, а я в html 0 полный. Мне нужно...

как зайтив админку сайта через джино?
У меня беда. Захожу на сайт по ссылке www.___.ru/Login/ сейчас пишет &quot;У Вас нет прав на просмотр...

5
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
18.08.2014, 12:12 2
Доброго дня
Почитайте ***********/ pro-asp-net-mvc-4/introducing-asp-net-mvc-4/sportsstore-security-finishing-touches/image-uploads[/url]
кажется то что надо вам

Добавлено через 9 минут
что то сайт не отобразилси
C#
1
S M A R L Y . N E T    /pro-asp-net-mvc-4/introducing-asp-net-mvc-4/sportsstore-security-finishing-touches/image-uploads
0
0 / 0 / 0
Регистрация: 09.08.2014
Сообщений: 10
18.08.2014, 14:15  [ТС] 3
Alex_student,
Там я читал)
Там реализовано добавление изображения в БД, оно реализовано и у меня.
А вот когда пытаюсь его изменить -- получается так, как я описал)
0
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
18.08.2014, 14:28 4
через пару часиков буду дома, скину код как работает у меня), если конечно будет актуально
0
180 / 58 / 7
Регистрация: 28.08.2012
Сообщений: 363
18.08.2014, 18:52 5
LapicovVA, почему бы не создать отдельную модель для представления и ее редактировать, а потом обновленные данные передавать в модель, полученную из бд, и которая уже имеет байты с картинкой
и кстати необязательно в базу данных сохранять, можно сохранять изображения в файловой системе. Пример можно посмотреть тут. Хотя у обоих способов есть свои плюсы и минусы.
1
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
18.08.2014, 20:18 6
Лучший ответ Сообщение было отмечено LapicovVA как решение

Решение

вот у меня работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[HttpPost]
        public ActionResult EditPhoto(Photo model, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    model.ImageMimeType = image.ContentType;
                    model.ImageData = new byte[image.ContentLength];
                    image.InputStream.Read(model.ImageData, 0, image.ContentLength);
                }
                var result = repository.PhotoEdit(model);
                return RedirectToAction("GetPhotos");
            }
            else
            {
                return View(model);
            }
        }
HTML5
1
2
3
4
5
6
 <div class="form-group">
                @Html.Label("Загрузить изображение:", new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    <input type="file" name="Image" />
                </div>
            </div>
и главное не забыть в объявлении формы:
HTML5
1
@using (Html.BeginForm("EditPhoto", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
1
18.08.2014, 20:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2014, 20:18
Помогаю со студенческими работами здесь

Как вставить рекламные блоки в сайт через админку?
В общем вопрос такой. На сайте есть 8 мест куда надо вставить баннеры. Подскажите каким образом...

Как через админку в Joomla включить автоматический redirect на другой домен
Нет возможности попасть на хостинг, как через админку Joomla сделать автоматический редирект с...

Как поменять изображение ярлыка?
Как поменять изображение ярлыка? Подскажите пожалуйста...:)

Как поменять изображение на экране imac
Есть картинка. на экране imac изображена страница сайта, я хочу эту страницу сайта поменять на...

Как поменять\установить изображение PictureBox'у
Помагите с проблемой, уже поиск и FAQ пересмотрел, но не нашёл.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru