Fileupload: Datei erhält zusätzlich __wcf_undefined_

  • Moin,


    ich hab nen upload script via ajax. Das Ganze funktioniert auch, bis auf das jede Datei den Namen __wcf_undefined_ dazu bekommt.



    Debuge ich in der Action klasse mit wcfDebug($this->parameters['__files']); scheint es, als würde es vom JS kommen




    Kann mir echt nicht erklären, woher das undefinedkommt... (Und nein, das Bild selbst hat kein __wcf_undefined_ im Namen ;))



    ~LG Fabi

  • Wie sieht denn der betroffene Request aus, der zum Server gesendet wird? Normalweise sollte undefined eine durch das JS fortlaufend vergebener numerischer Wert sein.


    BTW: WCF.Upload ist deprecated und dein zweiter Parameter im _super()-Aufruf sieht falsch aus, was meiner Meinung nach auch die Ursache für dein undefined ist.

  • WCF.Upload wird noch immer verwendet, z. B. bei den Styles https://github.com/WoltLab/WCF…p/js/WCF.ACP.Style.js#L74




    Der Request wenn ich das Bild auswähle und absende

    (cookie wegen PasswortHash entfernt)



    EDIT: Ich hab action durch actionClass ersetzt, aber das bleibt trotzdem beim Alten.

  • Ist ja gut und schön das es noch im bestehenden, 6 Jahre alten Code verwendet wird. Du erzeugst aber gerade neuen Quellcode und setzt bewusst auf eine veraltete Methode?


    Nicht der dritte Parameter im __super()-Aufruf ist falsch, sondern der zweite. this._super(this._button, undefined, action);

  • Im "Beispiel" wird _initFile() aber auch überschrieben und bei dir nicht, weshalb die Methode aus der Elternklasse aufgerufen wird. Da this._fileListSelector bei dir undefined ist, kann das Element im DOM nicht erstellt werden und die erzeugte interne ID nicht gespeichert werden, weshalb diese beim Hochladen letzten Endes auch undefined ist und zu deinem Phänomen führt.