Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler bei Downloads & Anzeige von Dateien bei via Formular hinzugefügten Einträgen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler bei Downloads & Anzeige von Dateien bei via Formular hinzugefügten Einträgen

    Hi,
    wir nutzen u.a. für Bewerbungen das Feature "Eingaben speichern", um einen CC zu befüllen. Hier können Dateien hochgeladen werden. Für die gibt es dann jeweils ein Feld vom Typ Dateiauswahl. Unter Contao 5.3.32 & Eclipse X 6.0.7 haben wir jetzt das Problem, dass die Dateien im CC nicht sichtbar sind & im Frontend nicht mehr heruntergeladen werden können. Die Dateien sind in der Dateiverwaltung & in der Tabelle des CC vorhanden.

    Die Dateien werden in einen geschützten Ordner gelegt und konnten früher via ->html() im Frontend (geschützte Seite) zum Download bereitgestellt werden.

    Wir haben hier auch den Fineuploader im Einsatz, um mehrere Dateien in ein Feld zu packen. Hat vor dem Update mit der Option "Mehrfachauswahl" im CC auch funktioniert.

    Was lässt sich hier machen?
    Angehängte Dateien
    Zuletzt geändert von EBL; 21.05.2025, 11:26.

  • #2
    Hi,
    die Dateien müssen vom Formular und dem Fineuploader contao-konform hochgeladen werden. Wenn die Dateien im Backend nicht sichtbar sind in dem Eintrag, ist der Upload fehlerhaft oder die Konvertierung der Werte fehlt.

    Contao erwartet einen Binären Wert (single) und bei Mehrfachauswahlen einen Array mit den Binär Werten (mehrfach) für Dateien/Bilder.

    Die Dateien werden in einen geschützten Ordner gelegt und konnten früher via ->html() im Frontend (geschützte Seite) zum Download bereitgestellt werden.
    Das funktioniert auch weiterhin, wenn die Werte korrekt sein. (das/die Files müssen im Feld normal sichtbar sein im Backend, sonst stimmt der Upload nicht)
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Über das Standard Dateiauswahl Feld von Contao bekommen wir den Fehler
      Code:
      Data too long for column
      Contao will hier anscheinend den relativen Pfad als String speichern.
      Bei Mehrfachauswahlen (Fineuploader, aktuellste Version) stehen in der Datenbank serialisierte Arrays mit Pfaden. Bsp.:
      Code:
      a:2:{s:9:"Anlagen_0";s:127:"/.../live/files/geschuetzt/upload_bewerbungen/buero__3.jpg";s:9:"Anlagen_1";s:130:"/.../live/files/geschuetzt/upload_bewerbungen/buero__2__3.jpg";}
      Ich kann da jetzt nicht einschätzen, wo hier etwas angepasst werden muss (Contao oder Eclipse). Wir selbst greifen in diese Logik ja eigentlich nicht ein.

      Kommentar


      • #4
        Das hat nichts mit Eclipse oder CC zu tun.

        Für die Verwendung in Dateiauswahlen sind Pfade invalide in Contao.
        Du bzw. das Formular muss die Daten valide speichern. Pfade haben in der Datenbank nichts zu suchen, relative Pfade sogar noch weniger als absolute. Das muss konvertiert werden, wenn man es in Dateiauswahlen verwenden will.
        Alle Pfade müssen binär umgewandelt werden und die Dateien in der Dateiverwaltung als neue Ressource ergänzt werden. Dafür eignet sich die Dbafs Klasse.
        ---
        Du kannst natürlich den fälschliche gespeicherten Wert via späteren (load,save)_callback auf das Feld umschrieben und überspeichern, damit es wieder Contao-konform wird. Aber das ist meines Erachtens eher "von hinten durch die Brust ins Auge". Das sollte beim Upload, vor dem Speichern in der DB geschehen, damit auch nicht unnötig lange Werte angelegt werden.
        Zuletzt geändert von Tim; 22.05.2025, 07:31.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Das muss konvertiert werden, wenn man es in Dateiauswahlen verwenden will.
          Alle Pfade müssen binär umgewandelt werden und die Dateien in der Dateiverwaltung als neue Ressource ergänzt werden. Dafür eignet sich die Dbafs Klasse.
          Danke für die ausführliche Rückmeldung, dadurch konnten wir es für's erste selbst lösen

          Kommentar

          Lädt...
          X