powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / при помощи чего можно узнать разрешение картинки до отправки на сервер?
25 сообщений из 63, страница 2 из 3
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35668954
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да фигня это все ... человек не акцентировал на способе:
NCE... или с помощью чего - это узнать ...
Однозначно запросом на сервер это дешевле как временем, так и ресурсно и проще. Ведь какая бы ни была клиентская реализация такого определения, все равно будет запрос сервера - не на уровне кода, а на уровне браузера. Только разница в том, что мы своим асинхронным запросом четко "спросим" - имя, размер, разрешение, а браузер понянет за собой кучу ненужной информации, а возможно, еще и картинку.

Посему вопросы простого "узнавания" надо перекладывать с уровня браузер-сервер на уровень клиент-сервер. Скорость и удобство гарантируется.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669101
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NCE,

Я же говорил, что на онченж - нельзя. Чего-то другое надо придумать. В самом плохом случае - если чего-то не срастётся - таймер. Лучше, конечно, чего-то получше придумать.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669259
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у картинки есть onload
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669269
verzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если как-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<input id="fil" type="file" onchange="loadImg()"/><br/>
<div id="hidDiv" style="position:absolute;left:-50">
  <img src="" id="im" onload="checkRes()"/>
</div>

<script>
input = document.getElementById('fil');
div   = document.getElementById('hidDiv');
img   = document.getElementById('im');

function loadImg()
{
  img.src = input.value;
  img.style.display = 'block';
}
function checkRes()
{
  div.style.top  = -img.height;
  div.style.left = -img.width;
  alert(img.width+'x'+img.height);//собсно
}
</script>
хорошо бы ещё освобождать картинку после проверки
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669414
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NCEнаверно это так имелось ввиду
Код: plaintext
1.
2.
3.
<input id="f1" type="file" onchange="var im=document.getElementById('im');im.src=this.value;im.style.display='block';alert(im.width)" /><br />
<div width="1px" height="1px" style="overflow:hidden">
<img src="" id="im" style="display:none" />
</div>

но по некоректной работе похоже что не такКартинка должна быть без display:none. Если не ошибаюсь, невидимые картинки броузеры не грузят. Поэтому выкрутасы с дивом.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669512
NCE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onchage мне по сути и не нужен, мне по нажатию кнопки submit проверить нужно но похоже это ничего не меняет...

verzer
а если как-то так:

Вы хотя бы код проверили, перед тем как отправлять.

И вправду пока только идин способ загрузить на сервер и проверить.
Но вчера нашёл другой способ - java класс ImageInfo который читает хэдер картинки и показывает краткую инфу(нужна перезагрузка страницы, во всяком случаи лучше чем загрузить картинку а потом сказать - не подходит). Но он там самописно сделан - не факт что все форматы прочтёт без ошибок. А если что-то не прочитал тогда загрузить на сервер и проверить там :) Ну это уже как самый последний вариант.

Видел же раньше сайты что проверяли разрешение картинки без отправки на сервер и даже без перезагрузки страницы - но тогда я был не в теме... :(
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669648
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на этот раз прочла тему внимательно :-) . Попробуй так сделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<script>
function setPreview(obj)
{
	document.getElementById('preview').src='file:///'+obj.value;
}
function checkRes(obj)
{
	if(obj.width >  100  || obj.height >  100 ) alert('wrong file size');
}
</script>

<div style="width:1px; height:1px; overflow:hidden; visibility:hidden">
	<img id="preview" onload="checkRes(this)">
</div>

<input type="file" onchange="setPreview(this)">

что мне НЕ нравится в данном решении:
1. нет проверки, что это действительно картинка (может имеет смысл ввести проверку расширения как раз :-)?)
2. завязано на onchange. Т.е. если я выбираю 1.jpg и получаю ссобщение об ошибке, а потом в задумчивости еще раз выбираю 1.jpg, то второй раз предупреждения не возникает. Поэтому думается мне, что надо ввести массив флагов (длина массива = количество файл-инпутов). На onload картинки выставлять соотв. флаг равным 1. При нажатии на субмит проверить, все ли флаги == 1, если нет - то отложить субмит с помощью setInterval до выяснения обстоятельств.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669661
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion,

На самом деле если прочитать всё с начала и до конца, решение - есть. Читать надо внимательно. (Это я не тебе, а топикстартеру). Когда топикстартер пишет: java класс ImageInfo - я чуть в осадок не выпал! Я уже написал было готовое решение - а тут такое. Ёлки же палки!
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669677
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

ну так давай, пиши уже готовое решение да закроем тему
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669688
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionShSerge,
ну так давай, пиши уже готовое решение да закроем тему
Да пускай догадается. Мне нравятся те, кто сами делают выводы. В топике - всё есть! Второй раз писать неохота. Я не сохраняю локально посты. Опять же - яву и яваскрипт перепутали!
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35669788
verzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у кого ещё, кроме тс, мой код не работает? у меня работает.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670096
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verzer,

у меня не работает. Проверяй не только в ИЕ.

1. значения css-свойств, связанных с позиционированием, должны иметь единицы измерения. left:-50 - неверно. left:-50px - верно (кроме px есть еще другие ед.изм.). Через js нужно также добавлять к циферке ед.изм.: -img.height+'px'.
2. путь к файлу на клиенте должен иметь приставочку file:///.
3. из такого кода , даже если он работает, очень легко сделать нерабочий. Достаточно лишь скопировать html-теги на их место в body, а скрипты - туда, где они и должны быть - в head.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670520
NCE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
На самом деле если прочитать всё с начала и до конца, решение - есть. Читать надо внимательно. (Это я не тебе, а топикстартеру). Когда топикстартер пишет: java класс ImageInfo - я чуть в осадок не выпал! Я уже написал было готовое решение - а тут такое. Ёлки же палки!


Я Джаву с Джавускриптом НЕ перепутал. Изначально я и хотел решение на джавескрипт что бы не надо было перегружать страницу. Но вижу что здесь, перепробывав, все методы не могу найти оптимальный, т.к. то картинка видна, то не показывает ширину то вообще не работает.

Поэтому, напиши пожалуйста решение, да и в правду закроем топик, а то уже третья страница скоро капать начнёт...
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670595
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт третьей страницы не беспокойся. Размер проверяю на онлоад. В опере не работает! Хотя воде бы работало. Работает в фф, гуглхроме, ие. Проверю завтра на работе. Так что тему рановато похоже закрывать. Ну и плюс то, что illion написала.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<html>
<script>
function getImg(){
	var maxWidth= 16 ;
	var maxHeight= 16 ;
	var im=document.getElementById('im');
	if((im.height>maxHeight)||(im.width>maxWidth))
	 alert("Слегка великовата: "+im.width+"*"+im.height);
}

</script>
<body>
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<input type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
<img src="" id="im" onload="getImg()" style="position:absolute;top:0px;left:0px;visibility:hidden" />
</body>
</html
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670693
verzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
illionу меня не работает. Проверяй не только в ИЕ.
в каком браузере у тебя не работает? проверял в опере, ие и огнелисе

> 1,2,3... и всё последующее
согласен, ошибки есть. я предлагал автору лишь напрвление решения.
вы предлагаете дать ему готовый код? так он не обозначил задание..
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670701
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verzer,

в фф2,3 не работает. Как именно: копипастю полностью код, открываю страницу, выбираю файл и ничего не происходит . Из этого я делаю вывод, что код нерабочий. Но если в фф2 это еще можно поправить с помощью file:/// (скорее всего именно в этом проблема, не имею просто сейчас двойки под рукой), то в фф3 это не спасет, т.к. он возвращает не путь+имя файла, а просто имя файла (это же самое, кстати, относится и к моему варианту, и к варианту ShSerge )
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670702
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опера (9.0), поганка, тоже возвращает только имя файла без пути.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35670869
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нифига себе! На работе во всех браузерах и в опере работает мой последний примерчик, если без file:///, т.е. ...src=this.value.
А дома без филе не работает! Ничего не понимаю.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671056
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionопера (9.0), поганка, тоже возвращает только имя файла без пути.
Смотря как смотреть. Вот так посмотри:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<html>
<script>
function getImg(){
	var im=document.getElementById('im');
alert("SRC картинки="+im.src);
}

</script>
<body>
<input type="file" onchange="document.getElementById('im').src=this.value; alert('Значение инпута='+this.value);" /><br />
<img src="" id="im" onload="getImg()" style="" />
</body>
</html>
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671273
NCE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verzerвы предлагаете дать ему готовый код? так он не обозначил задание..
ну как это я не обозначил задание? Что в нём было не ясно? Вроде всем всё было понятно.

ShSerge
Размер проверяю на онлоад. В опере не работает! Хотя воде бы работало


да действительно в опере на работает, а при обновлении страницы сразу вылазит сообщение "Слегка великовата и 39*22" Откуда этот размер взялся. У меня и с филе и без филе всё равно не работает в Опере(9.61)
А так нормально отрабатывает. Хотел добавить очистку inputa после появления сообщения "Слегка великовата" да что-то не получисло. Делал так:
<input id="fl" type="file" onchange="document.getElementById('im').src='file:///'+this.value" /><br />
var file = document.getElementById('fl');
а потом file.value = "";
почемуто не работает.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671348
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Value у input file работает только на чтение.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671353
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В целях безопасности.
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671360
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<html>
<script>
var currentInput;
function getImg(){
	var maxWidth= 16 ;
	var maxHeight= 16 ;
	var im=document.getElementById('im');
	if((im.height>maxHeight)||(im.width>maxWidth)){
	 alert("Слегка великовата: "+im.width+"*"+im.height);
	currentInput.value="";
	}
}

</script>
<body>
<input type="file" onchange="document.getElementById('im').src=this.value;currentInput=this" /><br />
<input type="file" onchange="document.getElementById('im').src=this.value;currentInput=this" /><br />
<!-- и т.д. -->
<img src="" id="im" onload="getImg()" />
</body>
</html>
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671447
NCE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЧто-то типа:
да вроде говорят что такой код не будет работать, в целях безопастности.

to ShSerge не в курсе почему сообщение вываливается в опере при обновлении страницы(в твоём коде)?

Похоже это всё что можно выжать из всех браузеров? (везде работает кроме Оперы в которой работает через раз)
...
Рейтинг: 0 / 0
при помощи чего можно узнать разрешение картинки до отправки на сервер?
    #35671473
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyValue у input file работает только на чтение.
Совершенно верно. Со значением ничего не сделать. А вот срц всё-таки присвоить можно. Сравни два алерта.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 2 из 3
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / при помощи чего можно узнать разрешение картинки до отправки на сервер?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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