Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузка файла и JavaScript (https://javascript.ru/forum/events/14861-zagruzka-fajjla-i-javascript.html)

DDestroy 04.02.2011 08:55

Загрузка файла и JavaScript
 
Имея на странице тег <input type="file">, необходимо сразу после выбора файла проверить его содержимое. Должно быть событие которое сразу после загрузки файла срабатывает. Не могу определить какое.

B@rmaley.e><e 04.02.2011 10:54

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

DDestroy 04.02.2011 10:55

После выбора.

B@rmaley.e><e 04.02.2011 11:03

FF, Chrome - FileAPI.
IE - вроде что-то через ActiveX.

В остальных браузерах никак.

DDestroy 04.02.2011 11:40

Можешь пример предоставить? Не совсем представляю как работать с ActiveX для считывания содержимого файла (он текстовый). Я подозреваю, что не правильно может описал задачу.
После выбора файла который будет оправлен на сервер, необходимо проверить содержимое файла на соответствие некоторому шаблону.

B@rmaley.e><e 04.02.2011 11:46

По ActiveX ничего сказать не могу - не работал с ним.
По FileAPI есть куча материала в сети.

B~Vladi 04.02.2011 11:46

Отправляй его на сервер и там проверяй. Не надо ничего выдумывать.

DDestroy 04.02.2011 12:10

Сервера нема, в смысле есть, но его нет для меня) Вся проверка должна происходить на клиенте.

B~Vladi 04.02.2011 12:28

Цитата:

Сообщение от DDestroy
Сервера нема, в смысле есть, но его нет для меня) Вся проверка должна происходить на клиенте.

Это ты должен был написать в первом посте. Ещё неплохо было бы написать о браузерах, которые ты поддерживаешь. Если среди них есть те, о которых не упоминал B@rmaley.e><e - твоя задача не имеет решений.

Ещё необходимо помнить, что ты не можешь получить путь к файлу из поля input type="file" из JavaScript. Возможно это решается через Flash, но я тут ничего не могу подсказать.

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


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