• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

XMLHttpRequest upload, weiteres prozedere - progress bar

jumbo125

Mitglied
Sehr geherte Community

ich habe diese Frage schon einmal kurz angeschnitt(in einem nicht passenden Thread, als neben erscheinung)
Daher hoffe ich keine Umstände zu machen, einen neuen Thread(im richtigen Bereich) nur zu diesem Thema zu öffnen.

Wenn man ein Fileupload mittels xmlhttp.. html5 durchführt, und eine onload abfrage einbaut, gilt dies dann nur den Upload?
Okay.. verwirrend, um dies zu bessern, hier ein code
dieser ist aus einem Tutorial, als gutes anscheiungs material
Code:
var client = null;

function uploadFile()
{
  //Wieder unser File Objekt
  var file = document.getElementById("fileA").files[0];
  //FormData Objekt erzeugen
  var formData = new FormData();
  //XMLHttpRequest Objekt erzeugen
    client = new XMLHttpRequest();

  var prog = document.getElementById("progress");

  if(!file)
  return;

  prog.value = 0;
  prog.max = 100;

  //Fügt dem formData Objekt unser File Objekt hinzu
  formData.append("datei", file);

  client.onerror = function(e) {
  alert("onError");
  };

  client.onload = function(e) {
  document.getElementById("prozent").innerHTML = "100%";
  prog.value = prog.max;
  };

  client.upload.onprogress = function(e) {
     var p = Math.round(100 / e.total * e.loaded);
  document.getElementById("progress").value = p;   
  document.getElementById("prozent").innerHTML = p + "%";
  };

   client.onabort = function(e) {
     alert("Upload abgebrochen");
   };

  client.open("POST", "upload.php");
  client.send(formData);
}
es geht vorallem um dies :
Code:
  client.onload = function(e) {
  document.getElementById("prozent").innerHTML = "100%";
  prog.value = prog.max;
  };

trifft das onload event zu, wenn die datei fertig abgeloadet ist, oder wenn der rest auch durchgeführt ist?

angenommen man hat im php script noch eine thumbnailerstellung und mehr drinnen, trifft dan onload zu wenn die datei am server ist, oder wenn das gesamte upload.php script abgeschlossen ist(bapw. mit thumbnail erstellung u.n.)
 
Werbung:
Wirf das Tutorial weg. So was wie foo = new XMLHttpRequest(); sind Altlasten von vor 10 Jahren. JavaScript und insbesondere AJAX setzt man heute in Kombination mit Frameworks ein. Ich selber verwende jQuery und Angular.

Unabhängig des eingesetzten Frameworks solltest du zu Anfang 4 Dinge spezifizieren: Einen Post-Request, ein Data-Object, das übergeben wird, sowie Success- und Error-Handler.
 
Ich benutze auch jquery mit Ajax function, aber ich dachte es lassen sich nur String Daten übergeben und keine files

Desweiteren stellt sich die Frage ob man bei Ajax auch ein online event oder progressbar einbauen kabn
 
Werbung:
Zurück
Oben