Ich muss nur die Bilddatei über das <input type="file">
Tag hochladen .
Derzeit werden alle Dateitypen akzeptiert. Ich möchte es jedoch auf bestimmte Bilddateierweiterungen beschränken .jpg
, die .gif
usw. enthalten.
Wie kann ich diese Funktionalität erreichen?
Antworten:
Verwenden Sie das Attribut accept des Eingabe-Tags. Um nur PNGs, JPEGs und GIFs zu akzeptieren, können Sie den folgenden Code verwenden:
Oder einfach:
Beachten Sie, dass dies dem Browser nur einen Hinweis darauf gibt, welche Dateitypen dem Benutzer angezeigt werden sollen. Dies kann jedoch leicht umgangen werden. Daher sollten Sie die hochgeladene Datei immer auch auf dem Server überprüfen.
Es sollte in IE 10+, Chrome, Firefox, Safari 6+ und Opera 15+ funktionieren, aber die Unterstützung ist auf Mobiltelefonen (ab 2015) sehr lückenhaft, und nach einigen Berichten kann dies tatsächlich verhindern, dass einige mobile Browser überhaupt etwas hochladen Stellen Sie sicher, dass Sie Ihre Zielplattformen gut testen.
Ausführliche Informationen zur Browserunterstützung finden Sie unter http://caniuse.com/#feat=input-file-accept
quelle
accept="file/csv, file/xls"
ist es gültig?image/x-png
? Nach dieser Liste ist es gerechtimage/png
. iana.org/assignments/media-types/media-types.xhtmlVerwenden Sie diese:
funktioniert sowohl in FF als auch in Chrome.
quelle
Verwenden Sie es so
Es hat bei mir funktioniert
https://jsfiddle.net/ermagrawal/5u4ftp3k/
quelle
Schritte:
1. Fügen Sie dem Eingabe-Tag ein Akzeptanzattribut hinzu.
2.
Überprüfen Sie mit Javascript. 3. Fügen Sie eine serverseitige Überprüfung hinzu, um zu überprüfen, ob der Inhalt wirklich ein erwarteter Dateityp ist
Für HTML und Javascript:
Erläuterung:
quelle
Dies kann erreicht werden durch
Das ist aber kein guter Weg. Sie müssen auf der Serverseite codieren, um zu überprüfen, ob die Datei ein Bild enthält oder nicht.
Überprüfen Sie, ob es sich bei der Bilddatei um ein tatsächliches Bild oder ein falsches Bild handelt
Weitere Informationen finden Sie hier
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
quelle
Sie können das
accept
Attribut zum<input type="file">
Lesen dieser Dokumente verwenden: http://www.w3schools.com/tags/att_input_accept.aspquelle
Mit type = "file" und accept = "image / *" (oder dem gewünschten Format) kann der Benutzer eine Datei mit einem bestimmten Format auswählen. Sie müssen es jedoch auf der Clientseite erneut überprüfen, da der Benutzer einen anderen Dateityp auswählen kann. Das funktioniert bei mir.
Und dann in Ihrem Javascript-Skript
quelle
const file: File = imageInput.files[0];
? Das Zuweisen der ID zur Eingabe erfolgt ebenfalls nicht auf herkömmliche Weise.Wenn Sie mehrere Bilder gleichzeitig hochladen möchten, können Sie
multiple
der Eingabe ein Attribut hinzufügen .quelle