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
Dieser Artikel basiert auf der Windows 10-Systemu...
Herunterladen Download-Adresse: https://dev.mysql...
Vue+Openlayer verwendet „modify“, um Elemente zu ...
Inhaltsverzeichnis 1. Aufgabenwarteschlange 2. Um...
Ergebnis:Implementierungscode html <nav class=...
Beim Aktualisieren eines Datensatzes in MySQL ist...
Ich habe schon einmal einen solchen Artikel gesch...
Im Zuge des schrittweisen Übergangs von herkömmli...
Inhaltsverzeichnis Vorwort Was sind Enumerationen...
Inhaltsverzeichnis 1. Bestimmen Sie den Entitätst...
gzip ist ein Befehl, der in Linux-Systemen häufig...
1. Technische Punkte Vite-Version vue3 ts Integri...
In MySQL häufig verwendete Abfragebefehle: mysql&...
Hintergrund Wenn wir über Transaktionen sprechen,...
Heute verwenden wir Uniapp, um Echarts zur Anzeig...