я наткнулся на этой равнине расслоение плотной код Ajax загрузки (кажется, что JQuery $.post
не работает с HTML5 по какой-то причине),HTML5 AJAX нескольких файлов Загрузить
/* If you want to upload only a file along with arbitary data that
is not in the form, use this */
var fd = new FormData();
fd.append("file", document.getElementById('file').files[0]);
/* If you want to simply post the entire form, use this */
//var fd = document.getElementById('form1').getFormData();
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "Upload.php");
xhr.send(fd);
Но у меня есть два вопроса здесь,
- Что означает эта линия после объекта
FormData
?
fd.append("file", document.getElementById('file').files[0]);
Зачем мне нужен идентификатор там? Можно ли что-то использовать jQuery append()
с $('input[type=file]')
?
- Этот аякс предназначен только для загрузки одного файла, как я могу его изменить для загрузки нескольких файлов?
спасибо за ответ! могу ли я спросить об этом - 'files.length', откуда берутся« файлы »? что я должен задать перед этим 'for()', поэтому я могу сделать 'files.length'? благодаря! – laukok
Я получаю эту ошибку 'файлы не определены', когда я использую ответ вашего' for() '... – laukok
Эту информацию можно получить только там, где пользователь указал несколько файлов? – BalusC