Verwenden Sie die akzeptieren Attribut des Eingabe-Tags. Um nur PNGs, JPEGs und GIFs zu akzeptieren, können Sie den folgenden Code verwenden:
<label>Your Image File
<input type="file" name="myImage" accept="image/png, image/gif, image/jpeg" />
</label>
Oder einfach:
<label>Your Image File
<input type="file" name="myImage" accept="image/*" />
</label>
Beachten Sie, dass dies dem Browser nur einen Hinweis darauf gibt, welche Dateitypen dem Benutzer angezeigt werden sollen. Dies kann jedoch leicht umgangen werden, weshalb Sie die hochgeladene Datei immer auch auf dem Server validieren sollten.
Es sollte in IE 10+, Chrome, Firefox, Safari 6+, Opera 15+ funktionieren, aber die Unterstützung auf Mobiltelefonen ist sehr dürftig (Stand 2015) und einigen Berichten zufolge kann dies einige mobile Browser daran hindern, überhaupt etwas hochzuladen, daher sollten Sie Ihre Zielplattformen gut testen.
Detaillierte Informationen zur Browserunterstützung finden Sie unter http://caniuse.com/#feat=input-file-accept