Projektszenario:1. Einschränkungen beim Hochladen von Dateien Funktion: 1. Verhindern Sie, dass Front-End-Operationen abnormale Dateien hochladen Funktionalität: 1. Holen Sie sich die Dateiinstanz Der Code lautet wie folgt: //Größenbeschränkung checkFileSize(Datei, Regeln) { returniere neues Promise((lösen, ablehnen) => { Dateigröße / 1024 / 1024 > Regeln ? reject() : resolve() }).Dann( () => { returniere wahr }, () => { //Operationsaufforderung return Promise.reject() } ) }, //Upload-Formatbeschränkungen checkFileType(file, rules) { returniere neues Promise((lösen, ablehnen) => { Regeln && Regeln.includes(Datei.Typ) ? lösen() : ablehnen() }).Dann( () => { returniere wahr }, () => { //Operationsaufforderung return Promise.reject() } ) }, //Seitenverhältnis (Bild) checkImageWH(Datei, Regeln) { const _this = dies returniere neues Promise((lösen, ablehnen) => { //Datei lesen const filereader = new FileReader() filereader.readAsDataURL(Datei) filereader.onload = e => { const src = e.Ziel.Ergebnis const image = neues Bild() bild.onload = funktion() { //Analysieren Sie die Daten und stellen Sie fest, ob sie den Regeln entsprechen resolve() } image.onerror = ablehnen bild.src = src } }).Dann( () => { returniere wahr }, () => { //Operationsaufforderung return Promise.reject() } ) }, //Seitenverhältnis (Video) checkVideoWH(Datei, Regeln) { returniere neues Promise(Funktion(auflösen, ablehnen) { var url = URL.createObjectURL(Datei) var video = document.createElement('video') video.onloadedmetadata = evt => { URL.revokeObjectURL(URL) //Analysieren Sie die Daten und stellen Sie fest, ob sie den Regeln entsprechen resolve() } video.src = URL video.load() // holt Metadaten }).Dann( () => { returniere wahr }, () => { //Operationsaufforderung return Promise.reject() } ) } Tatsächlicher Anruf //Dateiinstanz abrufen Screen(){ //Berechtigungsregeln abrufen const { filesSize, filesFormat, fileLimit} = this // Dateigröße, Dateityp, Bild-/Videobreiten- und -höhenbeschränkungen //Parameterbeurteilung const isFileSize = filesSize ? await this.checkFileSize(file, filesSize) : true const isFileType = filesFormat ? warte auf this.checkFileType(file, filesFormat) : true //Bild materialif (fileLimit && fileLimit.type * 1 === 1) { const isImageLimit = DateiLimit? warte auf dies.checkImageWH(Datei, DateiLimit) : true //Ausgabeergebnis return isFileSize && isFileType && isImageLimit } sonst wenn (Dateilimit&& Dateilimit.Typ * 1 === 2) { //Videomaterial const isVideoLimit = fileLimit? warte auf dies.checkVideoWH(file, fileLimit) : true //Ausgabeergebnis return isFileSize && isFileType && isVideoLimit } anders { //Keine Begrenzung //Ausgabeergebnis return isFileSize && isFileType } } Zusammenfassung: 1. Holen Sie sich eine Instanz Dies ist das Ende dieses Artikels über den detaillierten Fall des JavaScript-Upload-Dateibeschränkungsparameters. Weitere relevante Inhalte zu JS-Upload-Dateibeschränkungsparametern finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: So installieren Sie den Xrdp-Server (Remote Desktop) unter Ubuntu 20.04
1. Rahmen In einem Browser-Dokumentfenster kann n...
Vorwort Heutzutage wird in Projekten häufig die A...
Inhaltsverzeichnis 1. Schlüsselwörter 2. Dekonstr...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Verschiedene Methoden zur Skriptausführun...
Als ich nachts meinen MAC einschaltete, stellte i...
Ich sehe viele Anfänger in der Front-End-Entwicklu...
XML-Dateien sollten so weit wie möglich in UTF-8 ...
Es gibt zwei Typen: (verschiedene Browser) 1. Verf...
Vorwort Jedes Mal, wenn Sie Docker verwenden, um ...
Negative Distanz bezieht sich auf Empathie. Vorwo...
Inhaltsverzeichnis 1. Verwende Closures 2. Verwen...
Liste der HTTP-Rückgabecodes (unten finden Sie ei...
Inhaltsverzeichnis Frage: Es gibt 2 Token im Proj...
Protokollieren Sie die Installation und Verwendun...