Untersuchung der Eingabetastenfunktion vom Typ „Datei“

Untersuchung der Eingabetastenfunktion vom Typ „Datei“
<br />Beim Hochladen auf manchen Websites wird nach dem Klicken auf die Schaltfläche „Durchsuchen“ ein Dialogfeld [Datei auswählen] angezeigt. Oft müssen wir nur Bilddateien hochladen, dann werden im Popup-Dialogfeld [Datei auswählen] nur Dateien mit entsprechenden Bildformaten angezeigt und alle anderen Dateiformate werden herausgefiltert und nicht angezeigt.
Beispiel: http://www.youku.com/v1.0.0326/v/swf/up.swf
Dies ist die Video-Upload-Option von Youku, die die FLASH-Methode verwendet, um die Anzeige von Nicht-Videodateien zu verhindern.
FLASH ist in diesem Zusammenhang im Allgemeinen wie hier beschrieben.
importiere flash.net.FileReferenceList;
var fileRef:FileReferenceList = neue FileReferenceList();
var alleTypen:Array = [];
var browse type:Objekt = neues Objekt();
Browsing type.description = "Browsingtyp (*.mp3)";
Durchsuchen Sie Typ.Erweiterung = "*.mp3";
allTypes.push(Typ durchsuchen);
fileRef.browse(alleTypen);
Können wir für das <input type="File"> auf unserer Webseite auch ein Popup-Fenster implementieren, um den Dateityp einzuschränken?
Die aktuelle Lösung besteht darin, Benutzer durch Überwachung daran zu erinnern, dass das Format der hochgeladenen Datei falsch ist.
<Skript>
Funktion check(){
var Dateipfad=Pfad.Wert
Dateipfad=Dateipfad.Teilzeichenfolge(Dateipfad.letzterIndexvon('.') 1,Dateipfad.Länge)
wenn(Dateipfad != 'jpg' und Dateipfad != 'gif')
alert("Es können nur Bilder im JPG- oder GIF-Format hochgeladen werden")
}
</Skript>
<input type=file name=path onpropertychange="check()"> (Es können nur Bilder im JPG- oder GIF-Format hochgeladen werden)
<Skript>
Funktion ck(Objekt){wenn(Objekt.Wert.Länge>0){
var af="jpg,gif,png,zip,rar,txt,htm";
if(eval("with(obj.value)if(!/" af.split(",").join("|") "/ig.test(substring(lastIndexOf('.') 1,length)))1;")){alert("Erlaubte Dateitypen:\n" af);obj.createTextRange().execCommand('delete')};
}}
</Skript>
<form>
<Eingabetyp=Dateiname=Pfad onpropertychange="ck(this)"/></form>
Dieser Effekt ist jedoch offensichtlich nicht so gut wie das Benutzererlebnis von FLASH. Bei dieser Art des FLASH-Uploads ist besondere Vorsicht geboten.

<<:  Beheben Sie das Problem, dass weder der Repository- noch der Tag-Name leer sind, nachdem Docker ein neues Image geladen hat.

>>:  Detaillierte Erläuterung der DOM-Stileinstellungen in vier Reaktionskomponenten

Artikel empfehlen

Zusammenfassung der Ausführungsprobleme zwischen MySQL Max und Where

Ausführungsproblem zwischen MySQL Max und Where S...

Grundprinzipien des skalierbaren MySQL-Designs

Inhaltsverzeichnis Vorwort 1. Was ist Skalierbark...

Eine kleine Sammlung von HTML-Meta-Tags

<Head>……</head> gibt den Dateikopf vo...

Detaillierte Erklärung zur Verwendung von Join zur Optimierung von SQL in MySQL

0. Bereiten Sie relevante Tabellen für die folgen...

Verwendung von MySQL DDL-Anweisungen

Vorwort Die Sprachklassifikation von SQL umfasst ...

Implementierungsbeispiel zum Hochladen mehrerer Anhänge in Vue

Inhaltsverzeichnis Vorwort Kerncode Datei zeigt e...

Beispielcode für mehrere Elementtabellen, um synchrones Scrollen zu erreichen

Element UI implementiert mehrere Tabellen, die gl...

jQuery implementiert den Fall der Schriftgrößenanpassung

In diesem Artikel wird der spezifische Code von j...

Einführung in die Linux-Dateikomprimierung und -Verpackung

1. Einführung in Komprimierung und Verpackung All...