Хочу сделать такую вещь: выбирается через <input type="file"... картинка и сразу она же отображается на странице маленькой превьюшкой. Проблема - я не знаю как мне получить эту картинку в виде обьекта, чтобы сделать потом с ней что-нибудь (недоброе) в java-скрипте. $("#imgUpload").val() в той-же Mozill-e например вообще возвращает только имя файла, даже не путь. Единственное что приходит в голову - скинуть картинку на сервер и вернуть на страницу. Но если картинка будет тяжёлая - то это совсем не решение. Может можно было бы так сделать если бы её можно было бы уменьшить (именно уменьшить а не отмасштабировать) на клиентской стороне - но я что-то не слишком много нашёл в инете скриптов с такой функциональностью (точнее - ни одного). Может eсли есть какие-то мысли на этот счёт - посоветуйте плиз. :roll:
Обычный Нуб яваскриптом - никак, только засабмитить форму с файлом, т.к. залить его на сервак, и как зальется - вывести превьюшку. можно флешем. swfupload вроде имеет такой функционал.
Да, видимо прийдется с флэшем работать (хоть видят боги не хотел я этот флэш на сайт пихать). Но Mozilla уж больно параноидная, а превью пересылаемых на сервак картинок необходимо. Спасибо Вльдемар и igordata Вот сижу счас и думаю "кули я такой ник себе дурацкий зафигячил". Перерегится штоли?
Ну например IE старых версий, включая 8 может: HTML: <input type="file" id="uploadDlg"/> <input type="button" onclick="{ document.body.appendChild(oImg=document.createElement('img')); oImg.setAttribute('src', document.getElementById('uploadDlg').value); }" value="Press Me"/> И как этот код мне поможет взломать комп клиента? Ладно, пусть Мозилла создаст виртуальный каталог спрятав им реальный путь. Так она ничего этого не делает, а просто прячет от меня путь к файлу. Значит она параноидальная (и Хром вместе с ней напару). Это как заваривать двери машины на ночь. Поможет от угона? Поможет. Паранойя? Паранойя.
у меня именно в мозилле последнее время получаются такие ошибки что взбешивает круче чем IE, в плане css. могу предоставить примеры
а зачем вам путь к файлу? ясное дело браузер не даст никаким образом взаимодействовать с файловой системой, иначе же капец бы начался.
А как ещё отобразить картинку на странице не перегоняя её на сервер и обратно? Пусть не файл, пусть картинка в виде обьекта, как я уже писал выше - мне это даже лучше. И потом, знать путь и взаимодействовать - разные вещи. Я например с огромной долей вероятности знаю что у каждого 4-го на диске С я найду Windows/system32, Program Files, Documents and Settings и т.п. И нанести вред системе это мне никак не поможет. А вот если я открою великую тайну что у юзера есть папка /Фотки/Лето 2011/Я и Кошара бухаем на природе/MG_8855.jpg - всё, капец системе. Весь идиотизм ситуации, что внедрив на страницу флэшку я делаю спокойно то что мне надо и все это знают. Зачем (?!) Мозилле и Хрому поощерять использование технологий Адоба? Я для мультизагрузки юзаю бесплатный Agile Uploader. Супер штука, с ajax, callback и всё такое.