axios如何给上传图片添加进度条

这次给大家带来axios如何给上传图片添加进度条,axios给上传图片添加进度条的注意事项有哪些,下面就是实战案例,一起来看一下。

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

Features

从浏览器中创建 XMLHttpRequests

从 node.js 创建 http 请求

支持 Promise API

拦截请求和响应

转换请求数据和响应数据

取消请求

自动转换 JSON 数据

客户端支持防御 XSRF

下面给大家介绍使用axios实现上传图片进度条功能,具体内容介绍如下所示:

 在最近做的项目中,一个手机页面最多要上传几十张图片,虽然对照片做了压缩处理,不过最后还是很大,如果网卡的话,上传的时间很差,如果一直在loading的话,用户都不知道什自己上传了多少,为了更直观的展现上传的进度,最好显示进度条,和显示上传的百分比;

  项目用的是vuejs框架,mint-ui做为ui框架;请求的是vue官方推荐的axios(真的很强大);在axios官方介绍了使用原生上传处理进度事件(具体参考这里,这里有中文的axios官方介绍):

 onUploadProgress: function (progressEvent) {  // 对原生进度事件的处理 },

登录后复制

  因为使用vuejs,对于接口的数据请求,为方便管理,需要统一的管理。如果放在每个组件里,不方便日后的维护和管理;在reqwest.js文件里,定义了一个uploadPhoto方法,该方法有三个参数,分别是参数,和两个回调函数,参数就是我们要上传图片的需要的额参数;而第一个回调函数,是获取上传进度包含的数据,第二回调是获取上传成功失败,后台返回的数据;来进行页面的下一步操作。

 uploadPhoto(payload,callback1,callback2){    axios({      url:BASE_URL + '/handler/material/upload',      method:'post',      onUploadProgress:function(progressEvent){ //原生获取上传进度的事件        if(progressEvent.lengthComputable){          //属性lengthComputable主要表明总共需要完成的工作量和已经完成的工作是否可以被测量          //如果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类型,在定义的时候,注意; 

   

{{Math.ceil(precent)}}%

登录后复制

把reqwest.js 这个文件import 进来,获取到uploadPhoto这个方法,根据获取上传的进度,使用$nextTick 这个属性,实时的更新的页面上。

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

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

JS的JSON数据分组怎样优化

ajax直接改变状态和删除无刷新状态

以上就是axios如何给上传图片添加进度条的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2772484.html

(0)
上一篇 2025年3月8日 13:17:59
下一篇 2025年3月8日 13:18:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • axios客户端中ajax请求方式

    这次给大家带来axios客户端中ajax请求方式,axios客户端中使用ajax请求方式的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 AJAX,Asynchronous JavaScript and XML (异步的JavaSc…

    编程技术 2025年3月8日
    200
  • axios使用步骤详解(附代码)

    这次给大家带来axios使用步骤详解(附代码),使用axios的注意事项有哪些,下面就是实战案例,一起来看一下。 Axios是一个基于Promise的 HTTP 库,可以用在浏览器和node.js 中,因为尤大大的推荐,axios也变得越来…

    编程技术 2025年3月8日
    200
  • JS实现图片放大镜效果使用案例

    这次给大家带来JS实现图片放大镜效果使用案例,JS实现图片放大镜效果的注意事项有哪些,下面就是实战案例,一起来看一下。 前  言   我们大家经常逛各种电商类的网站,商品的细节就需要用到放大镜,这个大家一定不陌生,今天我们就做一个图片放大镜…

    编程技术 2025年3月8日
    200
  • Popup弹出框绑定添加数据事件(步奏详解)

    这次给大家带来Popup弹出框绑定添加数据事件(步奏详解),Popup弹出框绑定添加数据事件的注意事项有哪些,下面就是实战案例,一起来看一下。 逻辑 窗口P1中显示一组数据,并提供一个添加按钮点击按钮,弹出新的浏览器窗口P2,在其中添加一条…

    编程技术 2025年3月8日
    200
  • node操作文字生成图片

    这次给大家带来node操作文字生成图片,node操作文字生成图片的注意事项有哪些,下面就是实战案例,一起来看一下。 解决思路 文字转svg -> svg转png -> 合并图片 相关轮子 images Node.js 轻量级跨平…

    编程技术 2025年3月8日
    200
  • 解决vue-cli的打包图片路径错误

    这次给大家带来解决vue-cli的打包图片路径错误,解决vue-cli打包图片路径错误的注意事项有哪些,下面就是实战案例,一起来看一下。 最近第一次使用vue-cli构建项目,第一次打包部署到服务器上的时候出现图片加载不出来,结合网上的方法…

    编程技术 2025年3月8日
    200
  • Bootstrap与Vue操作用户信息的添加与删除

    这次给大家带来Bootstrap与Vue操作用户信息的添加与删除,Bootstrap与Vue操作用户信息添加与删除的Bootstrap有哪些,下面就是实战案例,一起来看一下。 用户信息编辑 用户名 密码 添加 重置 用户信息 序号 用户名 …

    编程技术 2025年3月8日
    200
  • layer前端组件图片显示功能

    这次给大家带来,的注意事项有哪些,下面就是实战案例,一起来看一下。 实现图片显示功能:layer 1.在这里介绍一种layer前端组件 layer是一款口碑极佳的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页…

    编程技术 2025年3月8日
    200
  • JS实现图片在网页中被拖拽

    这次给大家带来JS实现图片在网页中被拖拽,JS实现图片在网页中被拖拽的注意事项有哪些,下面就是实战案例,一起来看一下。 Title #pbox{ width: 100%; height:100%; } #box{ width: 200px;…

    编程技术 2025年3月8日
    200
  • JS点击循环切换播放图片

    这次给大家带来JS点击循环切换播放图片,JS点击循环切换播放图片的注意事项有哪些,下面就是实战案例,一起来看一下。 单击循环切换图片var i = 1;function nextImg(){i++;//步骤2:获取页面元素var next …

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论