Мне нужно загрузить файлы с помощью ajax, который должен поддерживаться в IE9. Я использовал FormData, как упоминалось здесь. Мой код выглядит следующим образом:
var files = new FormData();
JQuery.each($('#file')[0].files, function (i, file) {
files.append('file', file);
});
$.ajax({
type: "POST",
url: '/url',
cache: false,
contentType: false,
processData: false,
data: files,
...
});
Это отлично работает в Safari и Firefox, но не работает в IE9, поскольку FormData не поддерживается в IE9. Я попытался отправить как файл, установив:
data: $('#file')[0].files[0]
contentType: 'multipart/form-data'
Это не удается, поскольку данные отправляются в кодировке url и не могут быть проанализированы со стороны java. Любая помощь или указатель на то, как решить эту проблему, будут очень благодарны. Мне нужно что-то, что работает во всех браузерах.
РЕДАКТИРОВАТЬ: Мне не нужна панель выполнения загрузки, так как файлы обычно невелики. Мне не нужно загружать несколько файлов. Мне просто нужно загрузить один файл.