ich benutzte <input type= "file" name="Upload" >
Jetzt möchte ich dies einschränken, indem ich nur PDF- und XLS-Dateien akzeptiere.
Wenn ich auf die Schaltfläche "Senden" klicke, sollte dies überprüft werden.
Und wenn ich auf die Dateien (PDF / XLS) auf der Webseite klicke, sollte sie automatisch geöffnet werden.
Könnte jemand bitte einige Beispiele dafür geben?
Sie können dies verwenden:
HTML
nur Unterstützung. PDF und. XLS- Dateien
quelle
Leider gibt es zum Zeitpunkt der Auswahl keine garantierte Möglichkeit, dies zu tun.
Einige Browser unterstützen das
accept
Attribut fürinput
Tags. Dies ist ein guter Anfang, auf den man sich jedoch nicht vollständig verlassen kann.Sie können einen verwenden
cfinput
und eine Validierung ausführen , um die Datei zu überprüfen Erweiterung bei Vorlage, aber nicht den MIME-Typen. Das ist besser, aber immer noch nicht narrensicher. Dateien unter OSX haben häufig keine Dateierweiterungen, oder Benutzer können die Dateitypen in böswilliger Absicht falsch kennzeichnen.ColdFusions
cffile
können den MIME-Typ anhand dercontentType
Eigenschaft von result (cffile.contentType
) überprüfen , dies kann jedoch erst nach dem Hochladen erfolgen. Dies ist Ihre beste Wahl, aber immer noch nicht 100% sicher, da Mimetypen immer noch falsch sein können.quelle
accept
Attribut auf deminput
Tag kann hinzugefügt werden, ist jedoch nicht zu 100% wirksam.Sie könnten JavaScript verwenden. Beachten Sie, dass das große Problem bei der Verwendung von JavaScript darin besteht, die Eingabedatei zurückzusetzen. Nun, dies beschränkt sich nur auf JPG (für PDF müssen Sie den MIME-Typ und die magische Zahl ändern ):
Beachten Sie, dass dies auf den neuesten Versionen von Firefox und Chrome sowie auf IExplore 10 getestet wurde.
Eine vollständige Liste der MIME-Typen finden Sie in Wikipedia .
Eine vollständige Liste der magischen Zahlen finden Sie in Wikipedia .
quelle
Ich würde die Dateiserverseite filtern, da es Tools wie Live-HTTP-Header in Firefox gibt, mit denen jede Datei, einschließlich einer Shell, hochgeladen werden kann. Leute könnten Ihre Seite hacken. Tun Sie es Server-Site, um sicher zu sein.
quelle
Während dieses Beispiel für einen Upload mehrerer Dateien gedacht ist, enthält es die allgemeinen Informationen, die benötigt werden:
https://developer.mozilla.org/en-US/docs/DOM/File.type
Soweit auf eine Datei bei / download / reagiert wird, handelt es sich nicht um eine Javascript-Frage, sondern um eine Serverkonfiguration. Wenn ein Benutzer nichts zum Öffnen von PDF- oder XLS-Dateien installiert hat, kann er diese nur herunterladen.
quelle
Wenn Sie möchten, dass das Steuerelement zum Hochladen von Dateien die Dateitypen begrenzt, die Benutzer mit einem Klick auf eine Schaltfläche hochladen können, ist dies der richtige Weg.
Sie können die Funktion dann von einem Ereignis wie dem onClick der obigen Schaltfläche aus aufrufen, das wie folgt aussieht:
Sie können dies ändern in:
PDF
undXLS
Sie können es hier sehen: Demo
quelle
accept
Attribut -attribute wird bei dieser Methode der Ordnerinhalt nicht auf ausgewählte Dateitypen eingegrenzt, wenn eine Datei auf dem lokalen Computer ausgewählt wird.