Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка изображения JavaScript (https://javascript.ru/forum/misc/27306-zagruzka-izobrazheniya-javascript.html)

OklickSpb 09.04.2012 01:51

Загрузка изображения JavaScript
 
Как загрузить изображение на сервер с помощью JavaScript без перезагрузки страницы?

(Sandr) 09.04.2012 09:49

new Image();

OklickSpb 09.04.2012 16:57

А можно чуть поподробнее? Я был бы очень благодарен.

(Sandr) 09.04.2012 17:29

OklickSpb,
ээмм.. сам не помню как с помощью new Image() создавать/загружать картинку, но знаю другой путь :)

<html>
<head>
</head>
<script>
function img() {
  var img = document.createElement('img');
  img.setAttribute('src', 'адрес_картинки');
  document.body.appendChild(img);
}
</script>
<body>
<div onclick="img()">Загрузить</div>
</body>
</html>

Маэстро 09.04.2012 22:28

http://safron.su/playground/html5uploader/

Maxmaxmахimus, Вы ж только скажите человеку, что вся эта красота только для HTML5. Для других - только старые добрые <form> и <input type=file>...

(Sandr) 09.04.2012 23:03

OklickSpb,
упс.. извиняюсь.. не так прочитал.

Maxmaxmахimus,
ни разу не наркоман.

OklickSpb 09.04.2012 23:51

Не не, ребят, а вот без сторонних плагинов можно все это ручками реализовать. Просто нужно загрузить одно изображение на сервер, без перезгрузки так, как не хочется использовать чужое, хочу свое) какая-нибудь функция есть, типо .value или что то пободное для изображений?

Маэстро 10.04.2012 11:18

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168020)
если человек верстает под старые версии браузеров , то он странный человек и это выходит из ряда вон

-вот ЭТО бред. я обслуживаю предприятие в 5000 человек. и у всех стоит IE8. это старый браузер? почему? потому что не поддерживает HTML5? и какой бы он ни был, есть понятие корпоративной политики. если в организации приказом учредителей утвержден IE8, то можете хоть головой об стену биться, но будет стоять IE8.
я выше показал ссылку на механизм загрузки картинок на сервер. в IE8 это не работает.

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168020)
во вторых что за бред? и причем тут HTML5 вообще??????

как Вам сказать, ....... HTML5 тут притом.

P.S. если мой ответ Вам не понравился, то могу сказать только что он был адекватен Вашему.

dmitriymar 10.04.2012 11:33

а айфрейм, не?:)

а ещё ,без фрейма ,можно 204 сервером отдавать (не знаю как с изображениями), но с формами перегружаться не будет-правда не особо выйдет проконтролировать

Маэстро 10.04.2012 15:49

Цитата:

Сообщение от dmitriymar (Сообщение 168053)
...формами перегружаться не будет-правда не особо выйдет проконтролировать

Что не особо выйдет проконтролировать? Процесс загрузки - нет (например, создать индикатор загрузки), но результат загрузки - да.
Просто не форму отправки файла надо размещать в айфрейме, а указывать форме target=iframename. Вешать обработчик на скрытый iframename на onload. Сервер после загрузки картинки может в случае успешной загрузки сообщить элементарное "OK", а в случае ошибки вернуть сообщение типа ERROR="Объем файла превышает заданный лимит".


Часовой пояс GMT +3, время: 16:23.