In diesem Artikel erfahren Sie, wie Sie mit thinkphp5.1 + Vue+axios Dateien zu Ihrer Referenz hochladen. Der spezifische Inhalt ist wie folgt VorwortVerwenden Sie thinkphp5.1 + Vue+axios+ zum Hochladen von Dateien 1. Seitencode <!DOCTYPE html> <html> <Kopf> <meta charset="utf-8"> <title>Demo hochladen</title> <Stil> .fileBtn{ Breite: 180px; Höhe: 36px; Zeilenhöhe: 36px; Hintergrund: himmelblau; Rahmenradius: 5px; Anzeige: Block; Textausrichtung: zentriert; Farbe: weiß; } [v-Umhang] { Anzeige: keine; } </Stil> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> </Kopf> <Text> <div id="app"> <h1 v-cloak>{{message}}</h1> <form> <input type="file" name="file" ref="file" id="file" v-on:change="upload" style="visibility: hidden;" /> <label for="file" class="fileBtn">Hochladen</label> </form> </div> </body> </html> <Skript> var vue = neuer Vue({ el:'#app', Daten:{ Nachricht: 'Datei hochladen', }, Methoden:{ hochladen:Funktion(Datei) { console.log(Datei.Ziel.Dateien[0]); var forms = neue Formulardaten() var Konfigurationen = { Header: {'Inhaltstyp': 'multipart/form-data; charse=UTF-8'} }; forms.append('Datei',Datei.Ziel.Dateien[0]); axios.post('http://127.0.0.1/index/index/upload', Formulare, Konfigurationen) .then(Funktion (Antwort) { wenn (Antwort.Daten.Code == 0) { alert('Datei erfolgreich hochgeladen'); } anders { alert('Dateiupload fehlgeschlagen'); } Datei.Ziel.Wert = ''; }) .catch(Funktion (Fehler) { konsole.log(Fehler); }); } } }); </Skript> 2. Lösen Sie das Problem der domänenübergreifenden Schnittstelle Hier wird Apache 2.4.8 verwendet. Suchen Sie httpd.conf und fügen Sie eine Konfigurationszeile hinzu: Header-Satz Access-Control-Allow-Origin * 3. Backend-Verarbeitung des Upload-Teils /** * Überprüfung der Methode zum Hochladen von Dateien*/ öffentliche Funktion upload() { versuchen{ $Datei = Anfrage()->Datei('Datei'); wenn (leer($datei)) { echo json_encode(['code' => 1,"msg" => 'Bitte wählen Sie die Upload-Datei aus'],JSON_UNESCAPED_UNICODE);exit; } // Wechseln Sie zum Stammverzeichnis der Framework-Anwendung /uploads/ Verzeichnis $info = $file->move( '../uploads'); wenn($info){ // Nach erfolgreichem Upload die Upload-Informationen abrufen // JPG ausgeben echo json_encode(['code' => 0,"msg" => 'erfolgreich'],JSON_UNESCAPED_UNICODE);Beenden; }anders{ // Beim Hochladen konnten keine Fehlerinformationen abgerufen werden. echo json_encode(['code' => 1,"msg" => 'error'],JSON_UNESCAPED_UNICODE);exit; } } Fang (Ausnahme $e) { echo json_encode(['code' => 1,"msg" => 'Fehler'],JSON_UNESCAPED_UNICODE);Beenden; } } 4. Tatsächliche Wirkung Test erfolgreich! Klicken Sie zum Lernen des Lern-Tutorials zu vue.js bitte auf die Spezialthemen Lern-Tutorial zu vue.js-Komponenten und Lern-Tutorial zu Vue.js-Front-End-Komponenten. 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:
|
<<: So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung
>>: MySQL 8.0.12 Einfaches Installations-Tutorial
Kurzbeschreibung Passend für Leser: Mobile Entwic...
<br />So entfernen Sie die Trennlinien einer...
MySQL-Abfrage mit mehreren Bedingungen und dem Sc...
füge -it hinzu docker run -it -name test -d nginx...
Heute werden wir einen einfachen Herzschlageffekt...
wie folgt: -m, --memory Speicherlimit, das Format...
Oftmals wird nach der Fertigstellung eines Webdes...
Inhaltsverzeichnis 1. Überwachungsport Beziehungs...
Inhaltsverzeichnis Als Attribut- und Eigenschafts...
Geben Sie yum install mysql-server Drücken Sie Y,...
Kollegen fragen oft, ob beim Löschen von Dateien/...
Problembeschreibung Ein Spring + Angular-Projekt ...
Da die Kosten für die Erstellung von HTTPS-Websit...
Inhaltsverzeichnis 1. Einleitung 2. Analyse des f...
Inhaltsverzeichnis Docker-Installation Nvidia-Doc...