Ich denke, dass Deine diesbezüglichen Beitrage deswegen sehr gut hier her passen.
Apopros. Irgendwie bräuchte ich mal eine Erklärung, wie der Upload bei Deinem Kalenderscript *browserseitig* funktioniert.
- Drag&Drop
- die Bilder werden ggf. über canvas verkleinert
- die Bilder als einzelne File-Objecte werden alle zusammen, ggf. mit dazugehörigen Texten in einem größeren (gemeinsamen) Objekt zusammengefasst
- Letzeres wird serialisiert (es entsteht ein Blob) und mit Ajax zum Server gesendet
er Code falsch sein.Ein bischen übersichtlicher ist es hier
(1) und (2) entfallen. JS-pullfiles() legt alle Dateien is Objekt INFILES und übergibt es der Funktion welche den Ajax-Request feuert. INFILES, nach der Übergabe ein Objekt namens DATA wird mit
this.params = EAV.eav2blob(DATA);
serialisiert aund ab gehts per PUT. POST würde natürlich auch funktionieren, da wäre nur die serverseitige Kontrolle in einer anderen Interface-Methode (nämlich da, wo Parameter zu erwarten sind).Du könntest auch ein POST mit dem Enctype="multipart/form-data" per JS FormData machen und hättest dann ein ganz normales Upload mit einer Datei, die serverseitig nur noch deserialialisiert werden muss zum Wiederherstellen der einzelnen gesendeten Datei-Objekte.
Oder Du änderst pullfiles() gleich so, dass die in <input type="file" multipart> eingefügten Dateien namentlich benannt (file1, file2 usw.) an ein FormData-Objekt gehängt werden. Upload mit POST, Enctype="multipart/form-data". Serverseitig bleibt dann alles beim Alten, file1, file2 usw. liefert das $_FILE-Array.
Das wäre in wenigen Minuten erledigt ;)