powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вычитать загруженное в <img> изображение
2 сообщений из 2, страница 1 из 1
Вычитать загруженное в <img> изображение
    #40122110
eloiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени!
Нуждаюсь в помощи / подсказке / совете опытных разработчиков.

Задача: есть форма [wfrm_InputAccount.aspx] (данные аккаунта) заполнения профиля, одно из поле которой - фотография (все данные берутся из БД и впоследствии туда же сохраняются).

В Page_Load происходит примерно следующее:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
protected void Page_Load(object sender, EventArgs e)
{
  // Заполнение данных
  // ...
  
  if (!IsPostBack)
  {         
     // Import User Avatar
     imgPhoto.Src = Utils.Converter.GetImageUri(COLH.ConfigurableUser.Avatar);

     // ...
   }
}



imgPhoto - компонент:

Код: html
1.
<img id="imgPhoto" runat="server" src="~/Images/icon_user.png" height="150" width="150" />



Utils.Converter.GetImageUri преобразует SystemDrawing.Image в строку вида "data:image/png;base64,{_base64Data}".
Это все работает.

Загрузка фотографии реализована в .aspx:

Код: html
1.
<input type="file" id="openFileDialog" name="openFile" title="browse file" onchange="loadImage(event)"/>


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
             function loadImage(event)
             {
                 var file = event.target.files[0];
                 var reader = new FileReader();
                 var imgCtrl = document.getElementById("imgPhoto");

                 imgCtrl.title = file.name;

                 reader.onload = function (event)
                 {
                     imgCtrl.src = event.target.result;  
                 }

                 reader.readAsDataURL(file);
             }



Эта часть тоже работает. Выбранный с диска файл-картинка загружается в imgPhoto.

Далее мне надо все это дело сохранить опять в БД.
Делается это по linkButton:

Код: html
1.
2.
3.
4.
<asp:LinkButton ID="lnkApply" 
        onclick="lnkApply_Click" runat="server"
        Font-Names="Cambria" Font-Size="Medium" ForeColor="#0099FF">Принять изменения
</asp:LinkButton>



Код: 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.
26.
27.
        protected void lnkApply_Click(object sender, EventArgs e)
        {
            // Проверки...

            Model.User newAccount = new Model.User((int)Role);

            newAccount.Mail = Mail;
            newAccount.Post = Post;
            newAccount.Phone = Phone;
            newAccount.Login = Login;
            newAccount.Name = UserName;
            newAccount.AdditionalInfo = Description;
            newAccount.HashOfPassword = Controller.Secure.Hash(PasswordNew);
            newAccount.Specializations = spList;
           
            newAccount.Avatar = Utils.Converter.GetImageFromHTMLImg(imgPhoto);

            if (newAccount.RegisterNew() == DATA_MANAGE_DB_CMD_STATUS.SUCCESS)
            {
                 // Do smth.
                 
                 // go...
                 Server.Transfer("~/View/wfrm_accounts.aspx", true);
            }
            else
                 ShowMessage(COLH.CurrentMessage.Text);
        }



В общем и это работает.

Проблема только в следующем: в newAccount.Avatar записываются данные imgPhoto, которые были изначально (от есть загруженные из базы данных). То есть картинка в imgPhoto загружена новая и отображается там, а вот в C#-коде при считывании почему-то получаются данные старого не обновленного) изображения.

На ASP начал писать недавно (с неделю где-то).
Подозреваю, что я где-то недопонимаюпринцип работы ASP.
Например, не совсем понимаю, почему: при нажатии на lnkApply выполняется сначала код Page_load, а затем уже lnkApply_Click...

Вот как-то так.

Прошу помощи (подсказки), как решить данную проблему.
Даже луше подсказки: где в моем понимании / коде ошибка..

Спасибо.
...
Рейтинг: 0 / 0
Вычитать загруженное в <img> изображение
    #40122187
eloiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавил на форму параметр
Код: html
1.
enctype="multipart/form-data"



не помогло..
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вычитать загруженное в <img> изображение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]