最近在學習axios,然後專案就用到了,所以這篇文章主要給大家介紹了關於vue中利用axios實現文件上傳進度的實時更新的相關資料,文中先對axios進行了簡單的介紹,方法大家理解學習,需要的朋友們下面一起學習學習吧。
axios 簡介
axios 是基於Promise 用於瀏覽器和nodejs 的HTTP 用戶端,它本身俱有以下特徵:
從瀏覽器建立XMLHttpRequest
#從node.js 發出http 請求
引入方式:
$ 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 () ,所以只能在每個需要發送請求的元件中即時引入。
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' } }) }更多的基礎知識大家可以參考這篇文章://www.jb51.net/article/110324.htm
vue使用axios實作檔案上傳進度即時更新
XHR二級增加了progress事件,我們可以據此在瀏覽器接收新數據期間添加實時數據進度條,從而使得交互更加友好vue模板
<p 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('上传成功') } })上面是我整理給大家的,希望今後會對大家有幫助。 相關文章:
在Node.js中呼叫fs.renameSync出現錯誤問題?
以上是在vue中使用axios實作檔案上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!