Sven Rautenberg: Input type=file einschränken mit accept

Beitrag lesen

Moin!

folgenes klappt nicht. was mache ich falsch?

<input type=file name="userfile" accept="image/gif" >

er hat im open dialog immer noch die ansicht auf "alle dateien" eingestellt.

Du versuchst etwas, was stark davon abhängt, ob der Browser es wirklich kann.

Nur mal zur Verdeutlichung: Der Mimetyp "image/gif" bedeutet keinesfalls, daß nur noch Dateien mit der Endung ".gif" angezeigt werden müssen. Die Dateiendung und der Mimetyp haben im Prinzip nichts miteinander zu tun. Man kann auch PHP-Skripte benutzen, um GIF-Dateien zu erzeugen, die URL würde in diesem Fall auf ".php" enden - trotzdem entsteht ein GIF-Bild mit GIF-Mimetyp im GIF-Datenformat.

Außerdem kannst du den Benutzer kaum daran hindern, anstatt des gewünschten GIF-Bildes doch irgendwelche anderen Dateien hochzuladen. Wenn du mit der Accept-Angabe irgendwelche Hoffnungen verknüpfst - laß sie sofort wieder fahren. Gegen falsche Dateien hilft nur die Überprüfung dieser Dateien auf dem Server auf korrekten Inhalt.

- Sven Rautenberg