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

Отображение изображения загруженного с сервера

05.03.2014, 11:35. Показов 1901. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На форме разместил элемент:
HTML5
1
<asp:Image ID="Image1" runat="server" Width="200" Height="200" />
но изображение не отображается, показывается только место для него, если нажать правой кнопкой мышки и открыть изображение в новой вкладке то его там отображает. В чем проблема, не могу понять.

Файл на сервер загружаю так:
C#
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
            if (FileUpload1.HasFile)
            {
                string fileName = Server.HtmlEncode(FileUpload1.FileName);
 
                string extension = System.IO.Path.GetExtension(fileName);
 
                string path = System.IO.Path.GetFullPath(fileName);
                if ((extension == ".png") || (extension == ".jpg"))
                {
                    SqlConnection con = new SqlConnection(Role.SqlRoleProvider.connectionString);
                    using (con)
                    {
                        SqlCommand cmd = new SqlCommand("UPDATE dbo.Users SET Photo = '" + fileName + "' WHERE Email = '" + Context.User.Identity.Name + "' ;", con);
                        con.Open();
                        int asd = cmd.ExecuteNonQuery();
                        FileUpload1.SaveAs(Server.MapPath(fileName));
                    }
                    UploadStatusLabel.Text = "Файл загружен.";
                }
                else
                {
                    // Notify the user why their file was not uploaded.
                    UploadStatusLabel.Text = "Файл небыл загружен.";
                }
            }
Считываю файл так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            SqlConnection con = new SqlConnection(Role.SqlRoleProvider.connectionString);
            using (con)
            {
                SqlCommand cmd = new SqlCommand("SELECT Photo FROM dbo.Users WHERE ID = '" + GetUserID + "';", con);
                con.Open();
                SqlDataReader reader = cmd.ExecuteReader();
 
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        Image1.ImageUrl = Server.MapPath(reader.GetString(0));
                    }
                }
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2014, 11:35
Ответы с готовыми решениями:

использование загруженного изображения в ashx
есть вот такая форма &lt;asp:Image ID=&quot;Image1&quot; runat=&quot;server&quot; /&gt;&lt;br /&gt; &lt;asp:FileUpload...

Удаление загруженного изображения с сервера после перезагрузки страницы
Добрый вечер! Есть форма, которая грузит через AJAX изображение на сервер. Cразу же отображает...

Отображение загружаемого (еще не загруженного) изображения input file
Добрый день. Видел на некоторый сайтах, когда при выборе изображения в поле &lt;input type=&quot;file&quot;&gt;...

Свойства загруженного изображения
Ребята, помогите начинающей) В Image загружаю изображение. Нужно вывести на форму также его...

5
Эксперт .NET
1968 / 1427 / 337
Регистрация: 15.06.2012
Сообщений: 5,358
Записей в блоге: 3
05.03.2014, 17:35 2
HTML5
1
2
<asp:Image ID="Image1" runat="server"
    Width="200" Height="200" ImageUrl="путь_отображаемого_изображения" />
0
2 / 2 / 1
Регистрация: 23.05.2011
Сообщений: 34
05.03.2014, 18:17  [ТС] 3
Это присваивается тут:
C#
1
Image1.ImageUrl = Server.MapPath(reader.GetString(0));
0
Эксперт .NET
1968 / 1427 / 337
Регистрация: 15.06.2012
Сообщений: 5,358
Записей в блоге: 3
05.03.2014, 18:59 4
Цитата Сообщение от WizzzIDizzzI Посмотреть сообщение
Это присваивается тут:
Блин, точно. Рекомендую освоит дэбаг и посмотреть что приходит от БД и что возвращает Server.MapPath.
0
2 / 2 / 1
Регистрация: 23.05.2011
Сообщений: 34
05.03.2014, 19:02  [ТС] 5
В том то и дело, что там все в порядке. Если нажать правой кнопкой мышки по тому месту где должно быть изображение и нажать открыть изображение в новой вкладке, то оно в новой вкладке отроется((
0
Эксперт .NET
1968 / 1427 / 337
Регистрация: 15.06.2012
Сообщений: 5,358
Записей в блоге: 3
05.03.2014, 19:19 6
Server.MapPath Возвращает физический путь к файлу, соответствующий виртуальному пути, указанному на веб-сервере. Вам же нужен виртуальный адресс.

Добавлено через 2 минуты
Цитата Сообщение от WizzzIDizzzI Посмотреть сообщение
В том то и дело, что там все в порядке. Если нажать правой кнопкой мышки по тому месту где должно быть изображение и нажать открыть изображение в новой вкладке, то оно в новой вкладке отроется((
Это происходит потому, что локально на компьютере у вас есть файл. Страница полученна из виртуального сервера, и все элементы привязываются к виртуальному пути в целях безопасности. Если откроете сайт из другого ПК, то не сможете даже открыть изображение.

Если не понятно, то посмотрите что у вас в адрессной строке, когда открываете изображение.

Добавлено через 1 минуту
C#
1
Image1.ImageUrl = reader.GetString(0);
думаю так работать будет =)
0
05.03.2014, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2014, 19:19
Помогаю со студенческими работами здесь

Обновление изображения, загруженного в БД
Здравствуйте. Как обновить уже загруженное изображение в БД(загружал так)? Я пытаюсь обновить...

Извлечение загруженного изображения
У меня есть тестовый код, который загружает изображение в папку. Название изображение складывается...

Не выводит размеры загруженного изображения
Здравствуйте, дамы и господа! Программирую на java 2 недели, так что сильно камнями не...

Изменение изображения загруженного в IPictureDisp
Например у меня есть картинка, загруженная в переменную TempPicture, типа IPictureDisp. Мне нужно...


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

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