最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條功能

 更新時(shí)間:2017年12月21日 16:58:23   作者:刈懋  
Axios 是一個(gè)基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。這篇文章主要介紹了使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條,需要的朋友可以參考下

Axios 是一個(gè)基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。

Features

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

從 node.js 創(chuàng)建 http 請求

支持 Promise API

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

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

取消請求

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

客戶端支持防御 XSRF

下面給大家介紹使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條功能,具體內(nèi)容介紹如下所示:

 在最近做的項(xiàng)目中,一個(gè)手機(jī)頁面最多要上傳幾十張圖片,雖然對照片做了壓縮處理,不過最后還是很大,如果網(wǎng)卡的話,上傳的時(shí)間很差,如果一直在loading的話,用戶都不知道什自己上傳了多少,為了更直觀的展現(xiàn)上傳的進(jìn)度,最好顯示進(jìn)度條,和顯示上傳的百分比;

  項(xiàng)目用的是vuejs框架,mint-ui做為ui框架;請求的是vue官方推薦的axios(真的很強(qiáng)大);在axios官方介紹了使用原生上傳處理進(jìn)度事件(具體參考這里,這里有中文的axios官方介紹):

 onUploadProgress: function (progressEvent) {
  // 對原生進(jìn)度事件的處理
 },

  因?yàn)槭褂胿uejs,對于接口的數(shù)據(jù)請求,為方便管理,需要統(tǒng)一的管理。如果放在每個(gè)組件里,不方便日后的維護(hù)和管理;在reqwest.js文件里,定義了一個(gè)uploadPhoto方法,該方法有三個(gè)參數(shù),分別是參數(shù),和兩個(gè)回調(diào)函數(shù),參數(shù)就是我們要上傳圖片的需要的額參數(shù);而第一個(gè)回調(diào)函數(shù),是獲取上傳進(jìn)度包含的數(shù)據(jù),第二回調(diào)是獲取上傳成功失敗,后臺(tái)返回的數(shù)據(jù);來進(jìn)行頁面的下一步操作。

 uploadPhoto(payload,callback1,callback2){
    axios({
      url:BASE_URL + '/handler/material/upload',
      method:'post',
      onUploadProgress:function(progressEvent){ //原生獲取上傳進(jìn)度的事件
        if(progressEvent.lengthComputable){
          //屬性lengthComputable主要表明總共需要完成的工作量和已經(jīng)完成的工作是否可以被測量
          //如果lengthComputable為false,就獲取不到progressEvent.total和progressEvent.loaded
          callback1(progressEvent);
        }
      },
      data:payload
    }).then(res =>{
      callback2(res.data);
    }).then(error =>{
      console.log(error)
    })
  }

使用mint-ui組件里的Progress組件,在data的方法里定義該組件里的變量precent,該變量是number類型,在定義的時(shí)候,注意; 

<mt-progress :value="precent" :bar-height="10">
   <div slot="end">{{Math.ceil(precent)}}%</div>
  </mt-progress>

把reqwest.js 這個(gè)文件import 進(jìn)來,獲取到uploadPhoto這個(gè)方法,根據(jù)獲取上傳的進(jìn)度,使用$nextTick 這個(gè)屬性,實(shí)時(shí)的更新的頁面上。

const _this = this;
API.uploadPhoto(fd,(res) =>{
 let loaded = res.loaded,
   total = res.total;
   _this.$nextTick(() =>{
    _this.precent = (loaded/total) * 100;
   })
},(res) =>{
  if(res.code === '200'){
    MessageBox.alert('圖片上傳成功').then(action => {
     console.log('ok');
    });
  }
})

  根據(jù)上面的方法基本實(shí)現(xiàn)圖片的上傳進(jìn)度和百分比的顯示,剩下的就是ui了,根據(jù)自己個(gè)性化定制來實(shí)現(xiàn)你那完美的需求...

總結(jié)

以上所述是小編給大家介紹的使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • javascript實(shí)現(xiàn)簡單下拉菜單效果

    javascript實(shí)現(xiàn)簡單下拉菜單效果

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)簡單下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一
    2022-08-08
  • js運(yùn)算精度丟失的2個(gè)解決方法

    js運(yùn)算精度丟失的2個(gè)解決方法

    近期在做項(xiàng)目的時(shí)候,遇到了一些JS浮點(diǎn)數(shù)精度的問題,這個(gè)問題其實(shí)說大不大,說小不小,下面這篇文章主要給大家介紹了關(guān)于js運(yùn)算精度丟失的2個(gè)解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • JavaScript創(chuàng)建對象的幾種方式小結(jié)

    JavaScript創(chuàng)建對象的幾種方式小結(jié)

    這篇文章主要介紹了 JavaScript 中創(chuàng)建對象的多種方式,包括字面量方式、構(gòu)造函數(shù)方式、原型模式、() 方法、ES6 類,并分別說明了它們的特點(diǎn)和適用場景,強(qiáng)調(diào)在實(shí)際編程中要根據(jù)需求選擇合適的方式以提高代碼質(zhì)量和性能,需要的朋友可以參考下
    2024-12-12
  • 效果直逼flash的Div+Css+Js菜單

    效果直逼flash的Div+Css+Js菜單

    效果直逼flash的Div+Css+Js菜單...
    2007-05-05
  • ES6對象操作實(shí)例詳解

    ES6對象操作實(shí)例詳解

    這篇文章主要介紹了ES6對象操作,結(jié)合實(shí)例形式詳細(xì)分析了ES6對象創(chuàng)建、賦值、比較、合并等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • Js自動(dòng)截取字符串長度,添加省略號(hào)(……)的實(shí)現(xiàn)方法

    Js自動(dòng)截取字符串長度,添加省略號(hào)(……)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狫s自動(dòng)截取字符串長度,添加省略號(hào)(……)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • JS將表單導(dǎo)出成EXCEL的實(shí)例代碼

    JS將表單導(dǎo)出成EXCEL的實(shí)例代碼

    這是寫好的例子可以測試一下就明白了,有需要的朋友可以參考一下
    2013-11-11
  • Javascript字符串拼接小技巧(推薦)

    Javascript字符串拼接小技巧(推薦)

    下面小編就為大家?guī)硪黄狫avascript字符串拼接小技巧(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 基于JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名器

    基于JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名器

    這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • JavaScript代碼判斷輸入的字符串是否含有特殊字符和表情代碼實(shí)例

    JavaScript代碼判斷輸入的字符串是否含有特殊字符和表情代碼實(shí)例

    這篇文章主要介紹了JavaScript代碼判斷輸入的字符串是否含有特殊字符和表情,通過js代碼if語句進(jìn)行判斷,并結(jié)合自己開發(fā)的情景,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08

最新評論

融水| 上思县| 浮山县| 广昌县| 鲁甸县| 绿春县| 华阴市| 隆德县| 江孜县| 米易县| 三明市| 花莲市| 老河口市| 蚌埠市| 肥城市| 芜湖市| 江达县| 炎陵县| 九台市| 宜宾市| 兴安盟| 汤阴县| 策勒县| 库伦旗| 中方县| 凉山| 沭阳县| 隆子县| 克山县| 聊城市| 甘肃省| 塔河县| 锦屏县| 育儿| 瑞昌市| 广汉市| 革吉县| 白山市| 郯城县| 桑植县| 五莲县|