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
Code kopieren Der Code lautet wie folgt: <!DOC...
1. forEach() ist ähnlich wie map(). Es wendet ebe...
1. Gehen Sie zur offiziellen Website von Vim, um ...
Inhaltsverzeichnis Überblick Methode 1: Parameter...
Einzigartige „Über“-Seiten Eine gute Möglichkeit, ...
Der Vue-Teil ist wie folgt: <Vorlage> <K...
1. Was ist Vue Vue ist ein fortschrittliches Fram...
Melden Sie sich zuerst bei MySQL an Shell> MyS...
Einschließlich der Verwendung von Kontrollkästchen...
Inhaltsverzeichnis 1. Abhängigkeiten installieren...
Inhaltsverzeichnis 1. Was ist copy_{to,from}_user...
In diesem Artikelbeispiel wird der spezifische Co...
Ohne weitere Umschweife werde ich den Code direkt...
In diesem Blogbeitrag geht es um eine Schwierigke...
Ubuntu 16.04 baut FTP-Server FTP installieren FTP...