Vant Uploader implementiert die Komponente zum Hochladen eines oder mehrerer Bilder

Vant Uploader implementiert die Komponente zum Hochladen eines oder mehrerer Bilder

In diesem Artikel wird die Vant Uploader-Komponente zum Hochladen eines oder mehrerer Bilder zu Ihrer Referenz vorgestellt. Der spezifische Inhalt ist wie folgt

HTML-Teil

<Vorlage>
  <div Klasse="contWrap">
    <van-uploader
      v-model="Dateiliste"
      :mehrere="wahr"
      :before-read="vordemLesen"
      :after-read="nachdemLesen"
      :before-delete="delUploadImg"
      Upload-Symbol = "plus"
    >
    <!-- Hinweis: Dies ist ein benutzerdefinierter Upload-Stil-->
      <!-- <p>
        <van-Symbol
          Name="plus"
          Farbe: #07c160
          Größe=".5rem"
        />
        Foto hochladen</p> -->
    </van-uploader>
  </div>
</Vorlage>

js-Teil

<Skript>
importiere Axios von „Axios“;
Standard exportieren {
  Name: "uploadImages",
  Daten() {
    zurückkehren {
      Dateiliste: [],
      uploadUrl: "/api/upload/DateiUpload",
      Überschriften: {
        Token: this.$store.state.account.token,
      },
    };
  },

  Methoden: {
    // Booleschen Wert zurückgeben beforeRead(file) {
      if (Dateiinstanz des Arrays) {
        //Beurteilen, ob es sich um ein Array handelt file.forEach((v) => {
          dies.checkFile(v);
        });
      } anders {
        this.checkFile(Datei);
      }
      gibt true zurück;
    },
    //Bildtyp checkcheckFile(file) {
      const-Format = ["jpg", "png", "jpeg"];
      const index = file.name.lastIndexOf(".");
      const finalName = Datei.Name.substr(Index + 1);
      wenn (!format.includes(finalName.toLowerCase())) {
        Toast("Bitte hochladen" + format.join(",") + "Bild formatieren");
        gibt false zurück;
      }
    },
    nachLesen(Datei) {
    // Sie können die Datei jetzt selbst auf den Server hochladen, if (file instanceof Array) {
        datei.map((v) => {
          v.status = "Hochladen";
          v.message = "Hochladen...";
          dies.uploadImg(v);
        });
      } anders {
        file.status = "Hochladen";
        file.message = "Hochladen...";
        this.uploadImg(Datei);
      }
    },
    //Hochladen uploadImg(Datei) {
      const formData = new FormData();
      formData.append("Datei", Datei.Datei);
      Achsen
        .post(this.uploadUrl, formData, {
          Header: diese.header,
        })
        .then((res) => {
          wenn (res.data) {
            if (Dateiinstanz des Arrays) {
              //Beurteilen, ob es sich um ein Array handelt file.map((v, i) => {
                v.status = "Erfolg";
                v.Nachricht = "";
                v.url = res.data[i];
              });
            } anders {
              Datei.status = "Erfolgreich";
              Datei.Nachricht = "";
              Datei.URL = res.data.uploadUrl;
            }
          }
        })
        .catch((err) => {
          dies.$benachrichtigen({
            Typ: "Warnung",
            Meldung: "Upload fehlgeschlagen",
          });
        });
    },
    //löschen delUploadImg(item) {
      diese.fileList = diese.fileList.filter((v) => v.url != item.url);
    }
  },
};
</Skript>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Der Uploader von Vue+Vant auf dem mobilen Endgerät realisiert die Funktionen des Hochladens, Komprimierens und Drehens von Bildern
  • Vant Uploader implementiert die Drag-and-Drop-Funktion zum Hochladen von Bildern (als Cover festlegen)

<<:  Lösen Sie das Problem der VScode-Konfiguration durch Remote-Debugging des Linux-Programms

>>:  Schritte zum Wiederherstellen einer einzelnen MySQL-Tabelle

Artikel empfehlen

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Eine kurze Diskussion über die Rolle leerer HTML-Links

Leerer Link: Das heißt, es besteht keine Verbindu...

Beispiel für die Verwendung von rem zum Ersetzen von px in einem Vue-Projekt

Inhaltsverzeichnis Werkzeug Installieren Sie das ...

Detaillierte Schritte für einen reibungslosen Übergang von MySQL zu MariaDB

1. Einführung in MariaDB und MySQL 1. Einführung ...

Beispielcode zur Implementierung von Anti-Shake in Vue

Anti-Shake: Verhindert, dass wiederholte Klicks E...

DIV-Hintergrund, halbtransparenter Text, nicht durchscheinender Stil

Der DIV-Hintergrund ist halbtransparent, aber die ...

Vue implementiert die Anmeldung mit grafischem Bestätigungscode

In diesem Artikelbeispiel wird der spezifische Co...

So gestalten Sie das Frontend einer Website elegant und attraktiv für Benutzer

Das Temperament einer Web-Frontend-Website ist ein...

Detaillierte Erklärung der CSS3-Animation und der neuen Funktionen von HTML5

1. CSS3-Animation ☺CSS3-Animationen sind viel ein...

Erstellen einer KVM-Virtualisierungsplattform auf CentOS7 (drei Möglichkeiten)

KVM steht für Kernel-based Virtual Machine und is...