Я пытаюсь использовать атрибут множественной загрузки HTML5 для загрузки файлов.Я знаю, что это не будет работать с IE и вернусь к загрузке одного файла.Также я обнаружил, что некоторые недействительные теги HTML, такие как min max, позволяют Opera делать то же самое.
Я пытаюсь сделать следующее: Кнопка обзора может выбрать несколько файлов.Но ajax должен отправлять файлы один за другим.Мой сценарий примерно такой: пользователь выбирает 5 файлов и начинает загрузку.Теперь ajax должен сначала отправить первый файл, затем второй и так далее.Серверный скрипт что-то делает с файлом и возвращает некоторые данные.теперь, как только одна загрузка файла завершена, он должен отобразить эту часть результата.Так как пользователь выбирает изображения и начинает загрузку, результаты появляются сразу после загрузки каждого файла (а не после загрузки всех файлов).
Я попробовал что-то вроде этого:
function handleFiles(files)
{ alert(files.length); //properly returns the number of files selected
for (var i = 0; i < files.length; i++) {
new FileUpload(files[i])
}
}
function FileUpload(file) {
var reader = new FileReader();
var xhr = new XMLHttpRequest();
this.xhr = xhr;
xhr.open("POST", "portfolio/add_media");
reader.onload = function(evt) {
xhr.sendAsBinary(evt.target.result);
};
reader.readAsBinaryString(file);
}
после прочтения учебника на mozilla , но в итоге я пропускаю парам.
.поэтому кто-то может предложить мне чистое решение для этого
Еще несколько деталей: Когда я передаю один файл (без нескольких атрибутов), мой сервер получает:
"image" => [# , @ headers = "Content-Disposition:form-data; name = \ "picture [image] [] \"; filename = \ "Desert.jpg \" \ r \ nContent-Type: image / jpeg \ r \ n ", @ content_type =" image / jpeg ", @ original_filename = "Desert.jpg">]}}
Но когда я использую несколько атрибутов и отправляю с использованием xhr, я могу получить только один параметр файла.Как мне получить остальные параметры?отправка действия вещь 1020 *