Der Martin: Auto Upload mit AJAX & PHP?

Beitrag lesen

Hi,

momentan habe ich eine Upload Möglichkeit in einem Formular. Der User klickt auf "durchsuchen", wählt die Datei aus und klickt dann auf einen "Upload" submit button. Soweit so gut.
Ich überlege nun, ob man dies vereinfachen kann. Also ohne zusätzlichen Submit Klick. Die Datei soll gleich nach der Auswahl aus dem Dateisystem hochgeladen werden.

ich hätte behauptet, das sei nicht möglich; ich war der Meinung, der onchange-Event würde auf einem File-Upload-Feld nicht ausgelöst. Aber selbst wenn, halte ich es nicht für eine gute Idee. Was ist, wenn ich mich bei der Dateiauswahl vertan habe? Dann lade ich "aus Versehen" den letzten Brief an meinen Anwalt hoch. Hmm.

function makeAutoUpload(UploadFile,UserID){

xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="../include/autoupload.php";
url=url+"&UserID="+UserID;
url=url+"&UploadFile="+UploadFile;
//xmlhttp.onreadystatechange=UploadStateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

  
Warum so aufwendig? Warum nicht einfach die submit-Methode des Formulars aufrufen?  
  

> Mein Problem ist momentan das ich nicht wie früher (mit dem Submit Button) auf $\_FILES[ zugreifen kann, weil ja das Absenden via Post fehlt.  
> Daher hatte ich versucht mit "this.value" bzw. der Übergabe mit $\_GET['UploadFile'] die Datei mitzugeben. Das klappt soweit für den Dateinamen. Der ganze Pfad wird aber nicht übertragen, obwohl es eigentlich im Input Type=File so angezeigt wird.  
  
Das ist AFAIK sogar je nach Browser unterschiedlich. Aber egal wie, du kriegst auch diese Weise nur den Namen, aber keinen Datei-Upload, d.h. der Dateiinhalt wird nicht übertragen. Den bekommst du nur, wenn du wirklich das Formular absendest. Und von diesem automatischen Absenden einschließlich Upload rate ich dringend ab.  
  
So long,  
 Martin  

-- 
[Gott hilft niemandem](http://forum.de.selfhtml.org/?t=134084&m=869527), er erfreut sich nur an unseren Leiden.  
  (Ashura)  
  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(