Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Расстроило конечно, что File API не поддерживает IE9 Beta: это странно, учитывая что разработчики IE сейчас взяли курс на обильную поддержку html 5. Но как бы то ни было, очевидно, что в будущем всем браузерам придется подтянуться.Ничего странного, все просто. File API — черновик, его еще будут дописывать и переписывать. Если бы в IE9 внедрили FileAPI в текущем виде, то ничего хорошего не вышло бы. А мозиловцы вообще любят всякую экспериментальщину внедрять. Отсюда и остался в FF 3.6 метод sendAsBinary. В 4-ке уже должен быть FormData, который и описывается в последней версии черновика.
if (self.xhr.sendAsBinary) {
// firefox
self.xhr.sendAsBinary(body);
} else {
// chrome (W3C spec.)
self.xhr.send(body);
}if (XMLHttpRequest.prototype.sendAsBinary === undefined && Uint8Array) {
XMLHttpRequest.prototype.sendAsBinary = function(data) {
var blob = new BlobBuilder(),
arrb = new ArrayBuffer(data.length),
ui8a = new Uint8Array(arrb, 0);
for (var i=0; i<data.length; i++) {
ui8a[i] = (data.charCodeAt(i) & 0xff);
}
blob.append(arrb);
var blob = blob.getBlob();
this.send(blob);
}
}formData.append("afile", fileInputElement.files[0]);
var filename = item.replaceName || item.file.name;
var filename = item.replaceName || item.file.name || item.file.fileName;
HTML5 File API: множественная загрузка файлов на сервер