Bonjour,

J'utilise addEventListener pour la progression d'upload d'image. Normalement, c'est compatible avec FireFox et Chrome et les dernières version d'IE. Mais pourtant cela ne fonctionne pas avec Firefox et dans le cas présent, cela me renvoi "Le transfert a échoué !". Je vous remercie de votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 // Pour l'affichage de la progression du transfert
    function _(element){
        return document.getElementById(element);
    }
    function transfert(){
        var file = _('file').files[0];
        var data = new FormData();
        data.append('file',file);
        var ajax = new XMLHttpRequest();
        ajax.upload.addEventListener("progress",progressHandler,false);
        ajax.addEventListener("load",completeHandler,false);
        ajax.addEventListener("error",errorHandler,false);
        ajax.addEventListener("abort",abortHandler,false);
        ajax.open("POST", "index.php");
        ajax.send(data);
    }
    function progressHandler(event){
        //_('status_bytes').innerHTML = event.loaded + ' bytes uplodés sur ' + event.total;
        var pourcentage = (event.loaded / event.total) * 100;
        _('status_bytes').innerHTML = 'Chargement de l\'image ' + Math.round(pourcentage) + ' %';
    }
    function completeHandler(event){
        _('status').innerHTML = event.target.responseText;
        _('progerssBar').value = 0;
    }
    function errorHandler(){
        _('status').innerHTML = 'Le transfert a échoué !';
    }
    function abortHandler(){
        _('status').innerHTML = 'Le transfert a été annulé !';
    }
Avec IE et Chrome la progression se fait bien.