Wie 'saubere' Dateinamen bei Upload erzwingen?
am 21.05.2022 - 09:30 Uhr in
Hallo zusammen,
in einer Drupal 9 Installation haben Anwender die Möglichkeit bei einem ContentType "Media" PDF-Dateien hochzuladen. Grundsätzlich funktioniert das prima.
Leider laden manche Anwender auch PDF-Dateien mit Namen wie "mein pdf % ++ $$.pdf" hoch, was mitunter zu Problemen führt. Ich möchte nun 'saubere' Dateinamen erzwingen, also ohne Leer- und Sonderzeichen, bin aber unschlüssig, wie ich das erreichen soll.
Ich habe gerade in einem custom module mit hook_file_validate experimentiert und sehe zwei Möglichkeiten.
1: Prüfen, ob der Filename sauber ist. Aber mit welcher Funktion? Gibt es etwas wie checkCleanFileName? Anschließend Ausgabe einer Fehlermeldung "Bitte korrigiere Deinen Dateinamen".
2: Den Dateinamen automatisch durch "CleanString" des pathauto.alias_cleaner Service laufen lassen. Führt aber vielleicht zu Unmut bei den Anwendern.
Welche Optionen habe ich noch?
Danke & Grüße, rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Schau mal hier
am 22.05.2022 - 09:44 Uhr
Schau mal hier:
Provide options to sanitize filenames
Vielleicht kannst du dich in irgendeiner Form beteiligen? (und sei es nur durch Testen von Patches und Feedback geben?) Dann wäre diese Funktionalität schneller im Drupal Core.
Außerdem gibt es bereits ein Helper Modul:
Filename Transliteration