Heim > Web-Frontend > js-Tutorial > Hauptteil

So fügen Sie Bilder in Vue ein

coldplay.xixi
Freigeben: 2020-11-30 14:41:41
Original
11816 Leute haben es durchsucht

So fügen Sie Bilder in Vue ein: Erstellen Sie zuerst einen statischen Ordner, um die Bilder zu speichern. Schreiben Sie dann das Klickereignis. Der Code lautet [url:'/api/api/add/'] und ruft schließlich die Daten im Backend ab.

So fügen Sie Bilder in Vue ein

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Vue Version 2.9.6. Diese Methode ist für alle Computermarken geeignet.

So fügen Sie Bilder in Vue ein:

Zuerstbeginnen Sie mit der Erstellung eines statischen Ordners zum Speichern von Bildern

Gehen Sie zu den Einstellungen, um sie zu konfigurieren

MEDIA_ROOT = os.path.join(BASE_DIR,'media')
Nach dem Login kopieren

#Die Großbuchstaben vorne sind tote Formate. Versuchen Sie, sie nicht zu schreiben falsch

一Schreiben Sie

re_path(r&#39;^media/(?P<path>.*)$&#39;, serve, {&#39;document_root&#39;: settings.MEDIA_ROOT})
Nach dem Login kopieren

in das Level-Routing und schreiben Sie so in die Vorlagen in vue

<div>
    姓名:<input type="text" v-model="name"><br>
    图片:<input type="file" id="img"><br>      #这个ID是下面用来获取它的属性值的
    <button @click=&#39;my_add()&#39;>添加</button>
</div>
Nach dem Login kopieren

Als nächstes sollten wir das Click-Ereignis schreiben (FormData wird hier verwendet: Wenn Sie es nicht verstehen, können Sie zu seinem offiziellen gehen Website zum Überprüfen: https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/FormData)

methods:{
            my_add:function(){
                let form_data = new FormData();   #实例化一个FormData
                form_data.append(&#39;name&#39;,this.name);   #把数据添加到这个实例中
                let img = document.getElementById(&#39;img&#39;).files[0];  #获取id的属性
                form_data.append(&#39;img&#39;,img);       #把图拍片名称添加到这个实例中
                this.axios({
                    url:&#39;/api/api/add/&#39;,    #连接后台接口  第一个api是跨域的配置,第二个api是我的后台一级路由
                    method:&#39;post&#39;,      #用post方法进行提交数据
                    headers:{&#39;Content-Type&#39;:&#39;multipart/form-data&#39;},  #&#39;Content-Type&#39;: &#39;multipart/form-data&#39; :指定传输数据为二进制数据,例如图片、mp3、文件
                    data:form_data,    
                }).then(res=>{
                    if(res.data.code==200){
                        alert(res.data.message)  #这是code等于200的时候打印的
                    }
                    else{
                        alert(res.data.message) #这是code等于其他值 的时候打印的
                    }
                }).catch(err=>{
                    console.log(err)    #把错误警告提交到console
                })
            }
        }
Nach dem Login kopieren

Daten über das Backend abrufen

        name = request.data.get(&#39;name&#39;)    #获取页面上输入的名字
        img = request.FILES.get(&#39;img&#39;)       #获取页面上添加的图片
        img_name = img.name     #取出文件的名字
        img_path = &#39;static/upload/&#39; + img_name     #给图片名字前面拼接上路径    这就是它的路径
        with open(img_path,&#39;wb&#39;) as f:    #循环写入文件‘wb’
            for k in img.chunks():          #避免文件太大,就把它分成块写入
                f.write(k)
Nach dem Login kopieren

Verwandte Lernempfehlungen: Javascript-Lerntutorial

Das obige ist der detaillierte Inhalt vonSo fügen Sie Bilder in Vue ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!