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
In diesem Artikelbeispiel wird der spezifische Co...
Als ich kürzlich Apple.com/Ebay.com/Amazon.com/sh...
<br />Einige Webseiten sehen nicht groß aus,...
Inhaltsverzeichnis Lösung 1: Kopieren Sie die Übe...
Herunterladen: http://dev.mysql.com/downloads/mys...
Absolute Länge px px ist der Pixelwert, also eine...
Inhaltsverzeichnis iview-admin2.0 integrierte Ber...
1. Mehrere Grenzen[1] Hintergrund: Box-Shadow, Um...
Heute werde ich Ihnen zeigen, wie Sie das Linux-S...
Übersicht über die MySQL-Speicher-Engine Was ist ...
Überblick Im vorherigen Kapitel haben wir die Fil...
Heute empfehle ich ein solches Open-Source-Tool z...
Machen Sie einen leeren Bereich für Taobao: Wenn ...
Sttty ist ein gängiger Befehl zum Ändern und Druc...
Inhaltsverzeichnis 1. Warum Redux 2. Redux-Datenf...