Ich möchte, dass mein Uploader nur folgende Typen zulässt:
- doc, docx.
- xls, xlsx.
- ppt, pptx.
- TXT.
- pdf.
- Bildtypen.
Wie kann ich das erreichen? Was soll ich in das accept
Attribut einfügen? Danke für Ihre Hilfe.
BEARBEITEN!!!
Ich muss noch etwas fragen. Wenn das Popup zur Auswahl der Datei angezeigt wird, befindet sich in der unteren rechten Ecke eine Dropdown-Liste mit allen zulässigen Dateien. In meinem Fall wäre die Liste lang. Ich sehe in der Liste, es gibt eine Option namens All Supported Types
. Wie kann ich es standardmäßig auswählen und alle anderen Optionen entfernen?
Jede Hilfe wird geschätzt. Vielen Dank.
html
file-upload
input
Triet Doan
quelle
quelle
Antworten:
Der Wert des
accept
Attributs ist gemäß HTML5 LC eine durch Kommas getrennte Liste von Elementen, von denen jedes ein bestimmter Medientyp istimage/gif
, oder eine solche Notationimage/*
, die sich auf alleimage
Typen bezieht , oder eine Dateinamenerweiterung wie.gif
. IE 10+ und Chrome unterstützen all dies, während Firefox die Erweiterungen nicht unterstützt. Daher ist es am sichersten, Medientypen und Notationen wieimage/*
in diesem Fall zu verwenden<input type="file" name="foo" accept= "application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf, image/*">
wenn ich die Absichten richtig verstehe. Beachten Sie, dass Browser die Medientypnamen möglicherweise nicht genau so erkennen, wie sie in der autorisierenden Registrierung angegeben sind. Daher sind einige Tests erforderlich.
quelle
Verwenden Sie wie unten
<input type="file" accept=".xlsx,.xls,image/*,.doc, .docx,.ppt, .pptx,.txt,.pdf" />
quelle
Verwenden Sie das Attribut accept mit dem MIME_type als Werte
<input type="file" accept="image/gif, image/jpeg" />
quelle
accept
Attribut mit demMIME_type
s als Werte setzenWICHTIGES UPDATE:
Da nur application / msword, application / vnd.ms-excel, application / vnd.ms-powerpoint verwendet wird, sind nur MS-Produkte bis 2003 und nicht die neuesten zulässig. Ich habe folgendes gefunden:
application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.openxmlformats-officedocument.presentationml.presentation
Und das schließt die neuen ein. Für andere Dateien können Sie den MIME-TYP in Ihrer Datei auf diese Weise abrufen (entschuldigen Sie die Sprache) (in MIME-Listentypen gibt es diese nicht):
Sie können den Inhaltstyp auswählen und kopieren
quelle
für PowerPoint- und PDF-Dateien:
<html> <input type="file" placeholder="Do you have a .ppt?" name="pptfile" id="pptfile" accept="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.slideshow,application/vnd.openxmlformats-officedocument.presentationml.presentation"/> </html>
quelle
Wie auf w3schools angegeben :
quelle
für Bild schreibe dies
<input type=file accept="image/*">
Zum anderen können Sie das Attribut accept in Ihrem Formular verwenden, um dem Browser vorzuschlagen, bestimmte Typen einzuschränken. Sie sollten jedoch Ihren serverseitigen Code erneut überprüfen, um dies sicherzustellen. Vertraue niemals dem, was der Kunde dir schickt
quelle