xmlhttprequest onprogress не вызывается в Edge

Я использую следующий javascript для загрузки файлов в службу .Net WCF.

При использовании Chrome функция onprogress вызывается регулярно.

При использовании Edge он вызывается только один раз в конце.

var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload?filename=' + encodeURIComponent(fileToUpload.serverFilename), true);

// Listen to the upload progress.
xhr.upload.onprogress = function (e) {
    if (e.lengthComputable) {
        progress.setValue(e.loaded / e.total);
    }
};

xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            if (onSuccess !== undefined) onSuccess(fileToUpload);
        } else {
            Ext.Msg.alert('Upload Error', 'File: ' + fileToUpload.filename + '<br><br>Error: ' + xhr.status + ' ' + xhr.statusText);
            if (onError !== undefined) onError();
        }
    }
};

xhr.ontimeout = function () {
    console.log('transfer timed out')
}

var reader = new FileReader();
reader.onload = function () {
    var arrayBuffer = this.result;

    xhr.send(arrayBuffer);
}
reader.readAsArrayBuffer(fileToUpload.file);

Такое поведение явно непоследовательно, но я бы предположил, что Edge ведет себя не так, как должен (нет смысла в событии onprogress, если оно вызывается только в конце).

Любое обходное решение? Или я неправильно понял, как это должно работать (хотя Chrome, похоже, прекрасно понимает)?

Или это ошибка Microsoft или несоответствие? И нужно ждать 10 лет, чтобы увидеть, потрудятся ли они это исправить.


person Gwynge    schedule 20.09.2018    source источник
comment
Так в чем твой вопрос?   -  person gforce301    schedule 20.09.2018
comment
Извините, я думал, что это будет очевидно, я буду обновлять соответственно. У вас есть что-нибудь полезное, чтобы добавить или просто покритиковать вопрос?   -  person Gwynge    schedule 20.09.2018
comment
Вы не задали вопрос. Поэтому я не могу его критиковать. Я вообще-то зашел на этот пост в надежде, что смогу ответить на вопрос и помочь вам, но вы не задали вопрос. За то время, которое вам понадобилось, чтобы опубликовать свой язвительный ответ на комментарий, вы могли бы вместо этого... подождите... отредактировать свой пост и задать вопрос.   -  person gforce301    schedule 20.09.2018
comment
Согласен, это дубликат. Не мог найти это раньше, несмотря на поиск. Спасибо. Просто еще один разочаровывающий день с плохими продуктами Microsoft :o(   -  person Gwynge    schedule 20.09.2018
comment
@ Сообщество, вы уверены, что ошибка все еще существует двумя основными версиями позже? (Кажется, это еще не исправлено).   -  person Teemu    schedule 21.09.2018