0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
1

Добавление фото в БД

30.09.2020, 17:47. Показов 1552. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Столкнулся с проблемой и не могу никак ее решить. Надо добавить фото в бд, для этого разбиваю его на байты и пишу его в бд вот контроллер
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public ActionResult Create([Bind(Include = "ID,Name")] Picture picture, HttpPostedFileBase uploadImage)
        {
            if (ModelState.IsValid && uploadImage!=null)
            {
                BinaryReader reader = new BinaryReader(uploadImage.InputStream);
                picture.Image = reader.ReadBytes(uploadImage.ContentLength);
                picture.Name = "Kitty";
                db.Pictures.Add(picture);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
 
            return View(picture);
        }
вот модель
C#
1
2
3
4
5
6
7
8
public partial class Picture
    {
        public int ID { get; set; }
 
        public string Name { get; set; }
 
        public byte[] Image { get; set; }
    }
и вот вьюшка
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@model FromDB.Picture
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Create</title>
</head>
<body>
    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()
 
        <div class="form-horizontal">
            <h4>Picture</h4>
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
                </div>
            </div>
 
            <div class="editor-label">Файл изображения</div>
            <div class="editor-field">
                <input type="file" name="uploadImage" />
            </div>
 
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }
 
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
</body>
</html>
где я не прав?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2020, 17:47
Ответы с готовыми решениями:

Добавление фото на форму c#
Здравствуйте , у меня есть форма на ней картинка , добавляю свойством BackgroundImage с компа Мне...

Добавление фото в phocagallery
я создаю сайт визитку,поэтому у меня там только супер администратор.так вот я не совсем понимаю,как...

Добавление фото в excel
Всем привет, буду очень признателен за помощь. Есть код, который добавляет в нужный лист...

Добавление фото в форму
Скажите пожалуйста, как описать событие добавление фото пользователем в Windows Forms C#?...

10
3457 / 2469 / 695
Регистрация: 02.08.2011
Сообщений: 6,690
30.09.2020, 19:33 2
Цитата Сообщение от TLj Посмотреть сообщение
и не могу никак ее решить.
А в чем проблема? Файл не приходит?
0
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
30.09.2020, 19:34  [ТС] 3
ошибка соединения с localhost и в бд ничего не добавляется
0
3457 / 2469 / 695
Регистрация: 02.08.2011
Сообщений: 6,690
30.09.2020, 19:36 4
Цитата Сообщение от TLj Посмотреть сообщение
ошибка соединения с localhost
А сервер запущен? А строка подключения к БД корректная?

Добавлено через 28 секунд
Точный текст исключения посмотреть бы.
0
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
30.09.2020, 19:38  [ТС] 5
с бд все хорошо, потому что картинки из бд выводятся корректно, не могу пока даже разобраться, потому что программа без ошибок просто завершается и все
0
3457 / 2469 / 695
Регистрация: 02.08.2011
Сообщений: 6,690
30.09.2020, 19:39 6
Оберните код в try-catch и в catch-е точку остановка поставьте, смотрите в отладке, что не так.
0
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
30.09.2020, 19:41  [ТС] 7
я пробовал ставить точки останова на входе в метод create, но они не срабатывают, хотя в других методах все ок, я думал, что, может, что-то не так с html, но ответ пока не нашел
0
3457 / 2469 / 695
Регистрация: 02.08.2011
Сообщений: 6,690
30.09.2020, 19:44 8
В форме добавьте атрибут enctype="multipart/form-data".
Вот тут:
C#
1
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
1
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
30.09.2020, 19:49  [ТС] 9
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@model FromDB.Picture
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Create</title>
</head>
<body>
    @using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.AntiForgeryToken()
 
        <div class="form-horizontal">
            <h4>Picture</h4>
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
                </div>
            </div>
 
            <div class="editor-label">Файл изображения</div>
            <div class="editor-field">
                <input type="file" name="uploadImage" />
            </div>
 
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }
 
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
</body>
</html>
добавил, но все так же
0
3457 / 2469 / 695
Регистрация: 02.08.2011
Сообщений: 6,690
30.09.2020, 19:51 10
Ну емае, а корректные первые два параметра тоже надо указать.

Добавлено через 1 минуту
И смотрите в консоли браузера ошибки.
0
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
30.09.2020, 19:53  [ТС] 11
когда понял, что косякнул с контроллером и методом, от души посмеялся))
хорошо, спасибо, буду дальше пробовать
0
30.09.2020, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2020, 19:53
Помогаю со студенческими работами здесь

Мультизагрузка фото и добавление в БД их названий
Что нужно сделать чтобы имена изображений попадали в базу данных в поле photo. &lt;form...

Добавление фото из бд SQL в Word
на форме есть picterBox, как экспортировать его в ворд?

Добавление фото на страницу сайта
Задавался ли кто нибудь вопросом поиска фотографии в интернете, скажем поисковой системой Yandex,...

Не работает добавление\изменение фото
С наступающим! У меня есть файл post-ads.php &lt;label&gt;Фото&lt;/label&gt; &lt;div class=&quot;add_photo&quot;&gt;&lt;input...

WordPress - добавление фото и видео посетителями
Есть ли простой способ в wordpress блоге(сайте) сделать так,что б посетители могли добавлять фото...

Google Maps API v2 добавление своих маркеров и фото к ним
Собственно,как добавлять маркер по нажатию на карту вроде бы разобрался:...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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