溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue項(xiàng)目中如何使用axios上傳圖片

發(fā)布時(shí)間:2021-07-09 13:46:41 來(lái)源:億速云 閱讀:1907 作者:小新 欄目:web開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)vue項(xiàng)目中如何使用axios上傳圖片,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

axios 簡(jiǎn)介

axios 是一個(gè)基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,它本身具有以下特征:

從瀏覽器中創(chuàng)建 XMLHttpRequest

從 node.js 發(fā)出 http 請(qǐng)求

支持 Promise API

攔截請(qǐng)求和響應(yīng)

轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)

取消請(qǐng)求

自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)

客戶端支持防止 CSRF/XSRF

首先安裝axios:

1.利用npm安裝npm install axios –save

2.利用bower安裝bower install axios –save

3.直接利用cdn引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

一般情況上傳照片有兩種方式:

1.本地圖片轉(zhuǎn)換成base64,然后通過(guò)普通的post請(qǐng)求發(fā)送到服務(wù)端。

  操作簡(jiǎn)單,適合小圖,以及如果想兼容低版本的ie沒(méi)辦法用此方法

2.通過(guò)form表單提交。

  form表單提交圖片會(huì)刷新頁(yè)面,也可以時(shí)form綁定到一個(gè)隱藏的iframe上,可以實(shí)現(xiàn)無(wú)刷新提交數(shù)據(jù)。

這里只講解一下第二種方式:

html代碼:

<input name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

js代碼:

import axios from 'axios'
// 添加請(qǐng)求頭
update (e) {  // 上傳照片
   var self = this
   let file = e.target.files[0]
   /* eslint-disable no-undef */
   let param = new FormData() // 創(chuàng)建form對(duì)象
   param.append('file', file, file.name) // 通過(guò)append向form對(duì)象添加數(shù)據(jù)
   param.append('chunk', '0') // 添加form表單中其他數(shù)據(jù)
   console.log(param.get('file')) // FormData私有類對(duì)象,訪問(wèn)不到,可以通過(guò)get判斷值是否傳進(jìn)去
   let config = {
    headers: {'Content-Type': 'multipart/form-data'}
   }
   // 添加請(qǐng)求頭
  axios.post('http://172.19.26.60:8081/rest/user/headurl', param, config)
    .then(response => {
     if (response.data.code === 0) {
      self.ImgUrl = response.data.data
     }
     console.log(response.data)
    })
  }

關(guān)于“vue項(xiàng)目中如何使用axios上傳圖片”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI