Перейти к содержимому

Фотография

Хитрая загрузка файла


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 sidorka

sidorka

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Иванов Сидор Петрович

Отправлено 25 мая 2013 - 19:21

Помогите разобраться с загрузкой файла. Поле файла невидимое, видима только кнопка. При клике по кнопке инициируется событие "клик" по полю "файл", по изменению значения которого запускается скрипт загрузки на сервер. Что можно тут придумать, чтобы загрузить файл?

Пробовал делать видимым через выполнение своего скрипта - не работает, не запускается событие onchange :(

<div><button class="upload_btn" onclick="this.parentNode.nextSibling.click()">Вибрати файл</button></div>
<input class="file" type="file" size="28" onchange="Upload.onFileApiSend(5, this.files);" name="photo" style="visibility: hidden; position: absolute;"/>

  • 0

#2 adzynia

adzynia

    Постоянный участник

  • Members
  • PipPipPip
  • 210 сообщений
  • ФИО:Дзыня Андрей


Отправлено 02 июня 2013 - 17:18

Помогите разобраться с загрузкой файла. Поле файла невидимое, видима только кнопка. При клике по кнопке инициируется событие "клик" по полю "файл", по изменению значения которого запускается скрипт загрузки на сервер. Что можно тут придумать, чтобы загрузить файл?

Пробовал делать видимым через выполнение своего скрипта - не работает, не запускается событие onchange :(

<div><button class="upload_btn" onclick="this.parentNode.nextSibling.click()">Вибрати файл</button></div>
<input class="file" type="file" size="28" onchange="Upload.onFileApiSend(5, this.files);" name="photo" style="visibility: hidden; position: absolute;"/>


Если UI изменить не получится, например договориться с разработчиками, тогда попробуйте напрямую через http запрос. Упаковываете картинку в POST и отправляете на сервер
  • 0

#3 sawoy

sawoy

    Новый участник

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 03 июня 2013 - 08:25

Привет!

А в чем проблема вызвать явно onchange евент для этого элемента ? Ведь уже все равно произошло вмешательство в страницу.

Если тест запускается локально, можно подумать о внешней работе с диалогом загрузки файла, не через selenium.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных