Bonjour,
J'ai un souci avec une progress barre. Lorsque j'upload un fichier, la seul valeur qui se met à jour sur la barre est 100.
L'upload se réalise correctement sur ma page en ligne mais le .onprogress semble inactif.
J'ai essayé plusieurs combinaison d'ordre et même un setInterval mais rien y fait.
Voici mon code
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Page de test</title>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
</head>
<body>
<div id="barre"></div>
<form enctype="multipart/form-data" method="post" name="fileinfo">
<input name="file" id="file" type="file"/>
<input type="submit" value="Stash the file!" />
</form>
<div id="output"></div>
</body>
</html>
<script>
var form = document.forms.namedItem("fileinfo");
form.addEventListener('submit', function(ev) {
var
oOutput = document.getElementById("output"),
oData = new FormData(document.forms.namedItem("fileinfo"));
var oReq = new XMLHttpRequest();
$('#barre').progressbar({ value: 0 }); // on initialise le plugin
oReq.open("POST", "test_cible.php", true);
oReq.onprogress = function(e){
var loaded = Math.round((e.loaded / e.total) * 100); // on calcul le pourcentage de progression
$('#barre').progressbar('value', loaded);
};
oReq.onload = function(oEvent) {
$('#barre').progressbar('value', 100);
if (oReq.status == 200) {
oOutput.innerHTML = "Uploaded!";
} else {
oOutput.innerHTML = "Error " + oReq.status + " occurred uploading your file.<br \/>";
}
};
oReq.send(oData);
ev.preventDefault();
}, false);
</script> |
Le php est le suivant : très rudimentaire pour le test
move_uploaded_file($_FILES['file']['tmp_name'],'test') or die('erreur fichier');
Je suis sur d'avoir zappé qqch mais je ne sais pas quoi
Merci d'avance
Partager