Можно ли передавать файлы через ajax? То есть что-то наподобие обычного <input type="file">? Понятно, что можно сделать по-тупому:
1) прочесть содержимое файла в переменную.
2) отправить содержимое переменной через ajax
3) сохранить в файл на сервере содержимое
но мне интересно можно ли через ajax передать файл также, как это делается без ajax, то есть, чтобы на сервере работать с файлом, как-будто он прислан через обычный запрос, а не через ajax, а именно работать через массив $_FILES и ф-цию move_uploaded_file()
1. Pavelbeginner - 02 Августа, 2011 - 19:26:51 - перейти к сообщению
2. Arni - 02 Августа, 2011 - 20:00:09 - перейти к сообщению
AJAX (ˈeɪdʒæks, от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных, веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
http://ru[dot]wikipedia[dot]org/wiki/AJAX
Для того чтобы передать файл без перезагрузки страницы, js вообще не нужен, точнее нужен, но это штатные свойства форм отправки данных. И делается это так.
http://ru[dot]wikipedia[dot]org/wiki/AJAX
Для того чтобы передать файл без перезагрузки страницы, js вообще не нужен, точнее нужен, но это штатные свойства форм отправки данных. И делается это так.
CODE (html):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <div class="upload-wrap">
- <form method="post" action="index.php" enctype="multipart/form-data" target="upload_target">
- <input type="file" title="Файл" size="32" name="main_img" class="alexa-autosend-data" />
- </form>
- <iframe name="upload_target" src="#" class="iframe-ghost"></iframe>
- </div>
Это работает, и тут нету js, магии и AJAX. Единственное єто нужно для фрейма задать нулевые ширину и высоту, ну чтоб его видно не было.
И когда вы будете искать и качать плагины или библиотеки для загрузки файлов типа через AJAX, то знайте, почти всегда используется именно этот принцип. И js тут нужен только для того чтобы создать анимированные игрушки вида подождите ваш файл загружается или индикатор хода процесса ну и.т.д.