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
Mein erstes Serverprogramm Ich lerne gerade, Onli...
Dieser Effekt tritt am häufigsten auf unserer Bro...
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund: Vor langer Zeit (2017.6.5, der Artik...
In der Vergangenheit bedeutete das Erstellen eine...
Dieser Artikel beschreibt anhand eines Beispiels,...
1. Einleitung Nach dem Start von MySQL wird Buffe...
In diesem Artikel werden einige der Techniken ausf...
Inhaltsverzeichnis Installieren des SDK Lokalen D...
Szenario: Nach der Installation der neuesten Vers...
Inhaltsverzeichnis 1. Realistischer Hintergrund 2...
Die virtuelle Maschine wird auf dem Hostcomputer ...
Inhaltsverzeichnis 1. Mutex 1. Initialisierung de...
HTML-Semantik scheint ein alltägliches Problem zu...
Inhaltsverzeichnis 1. Grundlegende Speicherung vo...