ant design中upload组件上传大文件,显示进度条进度的实例


Posted in Javascript onOctober 29, 2020

Upload组件是自带上传进度,但是样式调起来很麻烦,我们要做的就是自定义一个

首先页面要引入组件 Upload, Progress

uploadAttachmentsProps = {
 action: `/api/upload`,
 showUploadList: false, // 这里关闭自带的列表
 beforeUpload: (info) => {
 /* 上传前的钩子,可以用来判断类型,和大小 
 if ('是否符合类型') {
  return false
 }
 if ('是否符合类型') {
  return false
 }
 return true
 */
 },
 onChange: (info) => {
 console.log(info)
 /*
  回调有三个参数
  {
   file: { ... },
   fileList: [ ... ],
   event: { ... }
  }
 */ 
 }
} 
<Upload {...uploadAttachmentsProps}>
 <a style={{marginRight: '10px'}}><Icon type="plus"></Icon>添加</a>
</Upload>

进度条我们需要回调里的 event,

const event = info.event
if (event) { // 一定要加判断,不然会报错
 let percent = Math.floor((event.loaded / event.total) * 100)

 this.setState({percent: percent})
 console.log(percent) // percent就是进度条的数值
}

进度条组件:

<Progress percent={this.state.percent} />

补充知识:ant design (antd) Upload 点击上传图片反应过慢

每次点击上传的时候,要等半年,才能出来选择文件框,有的时候,还会出来俩次,比较恶心,其实是电脑去本地搜索文件啥的,过滤的时间

const props = {
  action: this.state.action,
  fileList: fileList,
  data: {
    appid: appid,
    secret: secret,
  },
  headers: {'X-Requested-With': null},
  // accept: "image/*",
  accept: "image/jpg,image/jpeg,image/png,image/bmp",
  onChange: this.handleChange,
  beforeUpload: this.beforeUpload,
  onPreview: this.handlePreview,
  listType: "picture-card",
};


<Upload {...props}>
  {fileList.length >= this.state.length ? null : uploadButton}
</Upload>

注意点:

重要的是上面注释掉的:accept:想象一下,你如果给电脑很多筛选条件的话自然就慢了,image/*代表了全部的图片文件,如果可能的话,尽量少写两个。速度自然就快了。

不过第一次好像还是会慢点的,不过不会像以前一样,每次都要等。

以上这篇ant design中upload组件上传大文件,显示进度条进度的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 Javascript
利用Node.JS实现邮件发送功能
Oct 21 Javascript
200行代码实现blockchain 区块链实例详解
Mar 14 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 Javascript
一篇文章学会Vue中间件管道
Jun 20 Vue.js
react使用antd表单赋值,用于修改弹框的操作
Oct 29 #Javascript
node.js爬虫框架node-crawler初体验
Oct 29 #Javascript
JavaScript实现网页计算器功能
Oct 29 #Javascript
Javascript数组及类数组相关原理详解
Oct 29 #Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 #Javascript
node.js如何操作MySQL数据库
Oct 29 #Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 #Javascript
You might like
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
js实现简单进度条效果
2020/03/25 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
解决django FileFIELD的编码问题
2020/03/30 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
Jar包的作用是什么
2014/03/30 面试题
清洁工表扬信
2014/01/08 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
校园活动宣传方案
2014/03/28 职场文书
个人委托书
2014/07/31 职场文书
学生会主席任命书
2015/09/21 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis