Heim  >  Artikel  >  Web-Frontend  >  So fügen Sie Bilder in Vue ein

So fügen Sie Bilder in Vue ein

coldplay.xixi
coldplay.xixiOriginal
2020-11-24 10:10:0511857Durchsuche

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')

#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})

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>

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
                })
            }
        }

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)

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!

Stellungnahme:
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