欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue使用axios實(shí)現(xiàn)文件上傳進(jìn)度的實(shí)時更新詳解

 更新時間:2017年12月20日 08:35:50   作者:瑞雪  
最近在學(xué)習(xí)axios,然后項(xiàng)目就用到了,所以這篇文章主要給大家介紹了關(guān)于vue中利用axios實(shí)現(xiàn)文件上傳進(jìn)度的實(shí)時更新的相關(guān)資料,文中先對axios進(jìn)行了簡單的介紹,方法大家理解學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

axios 簡介

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

  • 從瀏覽器中創(chuàng)建 XMLHttpRequest
  • 從 node.js 發(fā)出 http 請求
  • 支持 Promise API
  • 攔截請求和響應(yīng)
  • 轉(zhuǎn)換請求和響應(yīng)數(shù)據(jù)
  • 取消請求
  • 自動轉(zhuǎn)換JSON數(shù)據(jù)
  • 客戶端支持防止 CSRF/XSRF

引入方式:

$ npm install axios
//使用淘寶源
$ cnpm install axios
//或者使用cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

安裝其他插件的時候,可以直接在 main.js 中引入并使用 Vue.use()來注冊,但是 axios并不是vue插件,所以不能 使用Vue.use() ,所以只能在每個需要發(fā)送請求的組件中即時引入。

為了解決這個問題,我們在引入 axios 之后,通過修改原型鏈,來更方便的使用。

//main.js

import axios from 'axios'
Vue.prototype.$http = axios

在 main.js 中添加了這兩行代碼之后,就能直接在組件的 methods 中使用 $http命令

methods: {
postData () {
this.$http({
method: 'post',
url: '/user',
data: {
name: 'xiaoming',
info: '12'
}
})
}

更多的基礎(chǔ)知識大家可以參考這篇文章:http://www.dbjr.com.cn/article/110324.htm

vue使用axios實(shí)現(xiàn)文件上傳進(jìn)度實(shí)時更新

XHR二級增加了progress事件,我們可以據(jù)此在瀏覽器接收新數(shù)據(jù)期間添加實(shí)時數(shù)據(jù)進(jìn)度條,從而使得交互更加友好

vue模板

<div class="progress" @click="upload"
   :style="{backgroundImage:'linear-gradient(to right,#C0C7CB 0%,#C0C7CB '+progress+',#E1E6E9 '+progress+',#E1E6E9 100%)'}">

vue-js

 var form = new FormData()
 form.append('file', vm.$refs.upload.files[0])
 form.append('id', id)
 form.append('type', type)
 var config = {
  onUploadProgress: progressEvent => {
   var complete = (progressEvent.loaded / progressEvent.total * 100 | 0) + '%'
   this.progress = complete
  }
 }
 axios.post(`api/uploadFile`,
  form, config).then((res) => {
  if (res.data.status === 'success') {
   console.log('上傳成功')
  }
 })

關(guān)鍵點(diǎn)在于progress事件,而axios對ajax封裝之后需要在axios的config參數(shù)里面寫好事件處理函數(shù)(具體參數(shù)寫法可查看axios文檔)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論