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="Объем файла превышает заданный лимит".

Маэстро 10.04.2012 15:52

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168098)
то ест бля, если у тебя в корпе требуется поддержка IE5 то я об этом телепатией узнать что ли должен и предупреждать че пойдет на IE5 че пойдет и не пойдет на IE4 и.т.п.

При отсутствии телепатии если Вам известны правила хорошего тона, то Вы должны высветить пользователю как минимум сообщение "Извините, но в Вашем браузере данный сайт работать не будет." И дальше дать рекомендации, что пользователю делать. В противном случае пользователь увидит либо переломанное изображение сайта, либо бесконечно крутящийся индикатор загрузки сайта...

Маэстро 11.04.2012 13:11

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168269)
Маэстро,
ты о чем? я говорю про то что когда прочишь помощь на форуме то нужно указывать что ты еще и старые браузеры поддерживать собираешься. а не помогатели должны давать 200 вариантов и указывать какие работать будут в старых браузерах какие в новых.

У нас с Вами разные взгляды на жизнь. На форуме много вопросов задают новички и они могут просто даже не догадываться о всяких "подводных камнях". Например, когда я начинал программировать, то думал что существует один браузер Internet Explorer, а о всяких "лисах", "осликах" и т.п. не слыхивал. Многие не знают, что, в какой версии работать будет, а что нет. Поэтому задают вопрос "как есть", как думают и не указывают в вопросе частоту своего процессора, объем памяти, скорость локальной сети (которые вдруг могут понадобиться для решения какой-то задачи). Они это не указывают и поступают логично. А Ваша задача, если Вы Профессор (т.е. учитель) проинформировать новичка о разных тонкостях. Разве Ваши учителя с Вами не так поступали? Иначе зачем тогда этот форум...

kichSman 11.04.2012 13:25

Цитата:

Сообщение от Маэстро (Сообщение 168052)
-вот ЭТО бред.
как Вам сказать, ....... HTML5 тут притом.
P.S. если мой ответ Вам не понравился, то могу сказать только что он был адекватен Вашему.

+1

kichSman 11.04.2012 13:29

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168098)
это разве означает что ты не из ряда вон?? это уже человек должен сообщать поддержка каких браузером ему требуется и должен утонять что он работает в месте где требуется поддержка старья.

Как бы верстка всегда расчитана на то, что будет ориентироваться и на IE, а поскольку некоторые пользуются IE, то нужно верстать и для 7 и 8 и 9 версии.
И кстати, смерть 6-ой версии уже отпраздновал сам Microsoft, так что ниже нет смысла смотреть

kichSman 11.04.2012 13:34

Цитата:

Сообщение от Маэстро
http://safron.su/playground/html5uploader/

порадовала консоль

kichSman 11.04.2012 15:07

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 168300)
нет, верстка расчитана на актуальные версии браузеров. если же происходит что-то из ряда вон, то нужно это указывать человеку которому нужна помощь.

ну как бы с этим не спорю, но всеже. У большинства при компиляции ответа, всеже стоит галочка о кроссбраузерности))

В конце концов, у нас же не забугорная буржуазия, где некоторые студии вообще клепают сайты только для -webkit а остальных пользователей считают дигенератами, потому что не пользуются современными технологиями


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