Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Загрузка файла в переменную (https://javascript.ru/forum/jquery/32368-zagruzka-fajjla-v-peremennuyu.html)

Oleg_Antonov 13.10.2012 20:52

Загрузка файла в переменную
 
Всем привет. Сразу говорю, далеко не знаток JS. :)
Интересует такой вопрос, реально ли с помощью JQuery загрузить файл, но не загружать его на сервер. Тоесть считать его в переменную JS.

Gvozd 13.10.2012 20:58

Если пользователь сам выберет файл который он хочет загрузить, то вроде это возможно с помощью HTML5 File API
Полностью не уверен, поэтому лучше загуглите на эту тему, заодно можете поискать и плагин jQuery который это позволяет.
Просто же загрузить произвольный файл не получится, если только не использовать всякие дыры безопасности браузеров

Oleg_Antonov 13.10.2012 21:10

Ну это понятно, что пользователь сам выбирает файл. Html 5 не прокатит. Нужно решение, которое работало бы и старых версиях браузеров.

Gvozd 13.10.2012 23:39

Цитата:

Сообщение от Oleg_Antonov
Нужно решение, которое работало бы и старых версиях браузеров.

Это в IE что ли?
Ну если среди ваших клиентов некрофилы(aka офис-планктон и некрофилы) то вам и разбираться с этой проблемой.
Я не вижу решения этой задачи в старых браузерах, и навря ли она есть(без взлома безопасности)

Я не вижу проблемы в том чтобы для современных фич, ограничивать поддержку только современными браузерами

Oleg_Antonov 14.10.2012 11:46

В этом я с вами полностью согласен. Только к сожалению у нас есть любимое государство. Которое установило, что данный сайт должен работать, начиная от IE 6. :-/

Gvozd 14.10.2012 18:55

Цитата:

Сообщение от Oleg_Antonov
Только к сожалению у насть есть любимое государство.

Это у вас есть любимое государство.
Не впутывайте в это остальных, и тем более Насть)

Ну в IE можно использовать ActiveX, но для этого пользователь должен сам поставить этот ActiveX, либо разрешить права стандартным ActiveX.
К сожалению с точки зрения браузера это огроменная дыра в безопасности.

Хотя не исключаю, что есть еще какие-то инструменты, о которых я не знаю, так что гуглите, ищите

Oleg_Antonov 14.10.2012 21:01

Я так люблю свою страну, но ненавижу государство. :)

Прочитал, что можно JSом послать запрос к SWF, который вернет обратно прочтенные данные. Но мало чего нашел по этой теме в интернете. Ничего не слышали про такой вариант?

P.S. Насти, обычно девочки хорошие, больше впутывать их не буду. :)

nerv_ 16.10.2012 22:42

Цитата:

Сообщение от Oleg_Antonov
Интересует такой вопрос, реально ли с помощью JQuery загрузить файл, но не загружать его на сервер. Тоесть считать его в переменную JS.

да, квери тут не нужен. Например, после выбора пользователем файла-изображения на жд, его можно открыть в браузере, обрезать и отправить на сервер.
Цитата:

Сообщение от Gvozd
это возможно с помощью HTML5 File API


Цитата:

Сообщение от Gvozd
Я не вижу решения этой задачи в старых браузерах, и навря ли она есть(без взлома безопасности)

тоже не знаю

Цитата:

Сообщение от Gvozd
но для этого пользователь должен сам поставить этот ActiveX

не понял

Gvozd 17.10.2012 09:08

ActiveX - это компилированные бабилотеки, функциональность который доступна из JS в брауезрах IE
Microsoft.XMLHTTP например по-умолчанию доступен.
Но бывают ActiveX И с другими методами/задачами.
Например есть класс для работы с файловой системой(для HTTP_протокола заблокирован)
В общем чтобы получить такую функциональность надо либо чтобы пользователь дал в настройках брауезра права на выполнение других ActiveX, либо установил ваш с нужными вам методами

Gvozd 17.10.2012 09:26

Цитата:

Сообщение от Oleg_Antonov
Прочитал, что можно JSом послать запрос к SWF, который вернет обратно прочтенные данные. Но мало чего нашел по этой теме в интернете. Ничего не слышали про такой вариант?

Кстати, возможно что и удастся
http://javascript.ru/unsorted/bridge-to-flash
Только сначала узнайте, может ли flash загрузить файл в строку
наверно может, если пользователь его выбрал


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