Vue verwendet den Rich-Text-Editor vue-quill-editor und lädt Bilder auf den Server hoch

Vue verwendet den Rich-Text-Editor vue-quill-editor und lädt Bilder auf den Server hoch

1. Vorbereitung

vue-quill-editor herunterladen

npm install vue-quill-editor --save oder yarn add vue-quill-editor

2. Definieren Sie die globale Komponente quill-editor

Nach dem Herunterladen von vue-quill-editor müssen wir eine globale Komponente definieren und sie quill-editor nennen

1. Vorlage definieren

<div>
 <Feder-Editor
 v-Modell="Wert"
 ref="meinQuillEditor"
 :Optionen="Editoroption"
 @change="beimEditorwechsel"
 >
 </Feder-Editor>
 <input type="file" hidden accept=".jpg,.png" ref="fileBtn" @change="handleChange" />
</div>

2. Definieren Sie die Rich-Text-Optionskonfiguration

Editoroption: {
 Symbolleiste: [
 ['fett', 'kursiv', 'unterstrichen'], // fett, kursiv, unterstrichen, durchgestrichen, 'durchgestrichen'
 ['blockquote', 'code-block'], //Zitat, Codeblock [{ 'header': 1 }, { 'header': 2 }], //H1 H2
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::
}

3. Verwandte Methoden

1. Ändern Sie die ursprüngliche Methode zur Bildbindung im Rich-Text-Editor

montiert() {
 wenn (diese.$refs.myQuillEditor) {
 //Ändern Sie myQuillEditor in Ihr eigenes this.$refs.myQuillEditor.quill.getModule("toolbar").addHandler("image", this.imgHandler);
 }
},
Methoden:{
 imgHandler(Status) {
 wenn (Zustand) {
 		//Klick der Eingabe auslösen, fileBtn durch das eigene this.$refs.fileBtn.click() ersetzen
 }
 }
}

2. Veranstaltungen hochladen

handleChange(e) {
 const Dateien = Array.prototype.slice.call(e.target.files);
 wenn (!Dateien) {
 zurückkehren;
 }
 let formdata = neue FormData();
 formdata.append("Dateiname", files[0].name);
 formdata.append("imgs", Dateien[0]);
 //Mithilfe der Axios-Anforderung this.axios({
 URL: this.$store.state.baseUrl + 'upload/ueditorFile',
 Methode: 'post',
 Daten: Formulardaten,
 Header: {'Client-Identität': localStorage.getItem('Session_ID')}
 }).then((res) => {
 	//Wenn Sie es hier auf leer setzen, wird beim Hochladen desselben Bildes das Änderungsereignis ausgelöst. this.$refs.fileBtn.value = "";
 wenn (res.data.code == 200) {
  Lassen Sie die Auswahl = this.$refs.myQuillEditor.quill.getSelection();
  //Dies ist die zurückgegebene Bildadresse. Wenn die Schnittstelle keine zugängliche Adresse zurückgibt, müssen Sie diese selbst verketten. let imgUrl = this.$store.state.baseUrl + res.data.data; 
  imgUrl = imgUrl.replace(/\\/g,"/") 
			//Holen Sie sich den Federcursor und fügen Sie das Bild this.$refs.myQuillEditor.quill.insertEmbed(selection != null ? selection.index : 0, 'image', imgUrl) ein.   
			//Nachdem das Einfügen abgeschlossen ist, bewegt sich der Cursor eine Position zurück. this.$refs.myQuillEditor.quill.setSelection(selection.index + 1);
 } 
 })
}

Verwenden Sie abschließend diese globale Quill-Komponente in der übergeordneten Komponente und übergeben Sie die relevanten Parameter, die Sie benötigen. Fertig.

Dies ist das Ende dieses Artikels über die Verwendung des Rich-Text-Editors vue-quill-editor in Vue und das Hochladen von Bildern auf den Server. Weitere relevante Inhalte zum Hochladen von Bildern mit vue-quill-editor auf den Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Vue implementiert die Funktion zum Hochladen von Anhängen
  • Spring+Vue integriert UEditor Rich Text zum Hochladen von Bildanhängen
  • Zwei Lösungen für das 404-Problem beim Aktualisieren des Vue-Paket-Upload-Servers
  • Vue + Element + OSS realisiert das Hochladen von Front-End-Fragmenten und die Wiederaufnahme von Haltepunkten
  • Basierend auf Vue-Simple-Uploader, kapselt die globale Upload-Plug-In-Funktion des Dateisegment-Uploads, des sofortigen Uploads und der Breakpoint-Fortsetzung
  • Vue-Formular-Post-Anforderung kombiniert mit Servlet zur Realisierung der Datei-Upload-Funktion
  • Realisieren Sie mobile Bild-Upload-, Komprimierungs-, Drag-and-Drop-Sortierungs- und Drag-and-Drop-Löschfunktionen basierend auf Vue2
  • Was Sie beim Hochladen von Bildern mit vue+vant beachten sollten
  • Vue realisiert das Hochladen nach dem Zuschneiden von Bildern
  • Implementierungsbeispiel zum Hochladen mehrerer Anhänge in Vue

<<:  Implementierung eines einfachen Studenteninformationsmanagementsystems auf Basis von VUE

>>:  Vue implementiert eine Eingabekomponente, die den Tastenkombinationseffekt der Tastenanzeige erhält

Artikel empfehlen

So entfernen Sie die Kopfzeile aus der Elementtabelle

Dokumenthinweise mit dem Attribut show-header <...

HTML-Code einer Webseite: Erzeugung von Lauftext

In diesem Abschnitt beschreibt der Autor die spez...

Hinweise zu Linux-Systembefehlen

Dieser Artikel beschreibt die Linux-Systembefehle...

Verwenden Sie CSS-Variablen, um coole und erstaunliche Schwebeeffekte zu erzielen

Kürzlich habe ich auf der Grover-Website eine lus...

Codebeispiel für die Implementierung des Linux-Verzeichniswechsels

Das Wechseln von Dateien ist eine gängige Operati...

Linux-Plattform MySQL ermöglicht Remote-Login

Während des Entwicklungsprozesses stoße ich häufi...

Detaillierte Anweisungen zur Installation von Jenkins auf Ubuntu 16.04

1. Voraussetzungen JDK wurde installiert echo $PA...

Ein auf Vue-cli basierender Codesatz unterstützt mehrere Projekte

Inhaltsverzeichnis Anwendungsszenario Ideen Proje...

Detaillierte grundlegende Operationen an Datentabellen in der MySQL-Datenbank

Inhaltsverzeichnis 1. Zeigen Sie die Tabellen in ...

Detaillierte Erläuterung des Lese-Commits der MySQL-Transaktionsisolationsebene

MySQL-Transaktionsisolationsebene anzeigen mysql&...