2013-12-17 3 views
1

JQuery-File-загрузка утверждает, что работать с IE6 + и нет открытых вопросов об этом в https://github.com/blueimp/jQuery-File-UploadКак этот плагин jQuery-File-Upload работает без Flash или Silverlight?

Так мне интересно, как он выполняет это, когда другие polyfils к файлу API были необходимы дополнения для получения доступа к файловая система.

ответ

1

Насколько я могу судить, не заглядывая глубоко в код, он будет использовать iframe.

Посмотрите здесь:

https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js#L70

Дело в том, что если вы не можете сделать это без Ajax/WebSockets или что-то ... тогда единственно возможный путь для достижения этой цели является сделать запрос на iframe.

Внутри iframe будет форма с вводом файла. Он будет делать запрос на сервер, как обычно, и когда перезагрузка iframe, код javascript должен иметь возможность обновлять пользователя загружаемым файлом. Iframe может содержать что-то вроде id для прикрепления файла для добавления в основную форму ... тогда на сервере должно быть возможно связать прикрепление файла к форме.

Это очень похоже на это. У этого метода есть некоторые недостатки, потому что он работает в iframe. Iframes становятся намного более ограниченными по соображениям безопасности, чем раньше.