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 相关文章推荐
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
JS中把字符转成ASCII值的函数示例代码
Nov 21 Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 Javascript
浅谈Javascript如何实现匀速运动
Dec 19 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 Javascript
AngularJS递归指令实现Tree View效果示例
Nov 07 Javascript
vue使用vue-cli快速创建工程
Jul 28 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
Node.js API详解之 timer模块用法实例分析
May 07 Javascript
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中in_array函数用法分析
2014/11/15 PHP
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
vue之延时刷新实例
2019/11/14 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
Python中的自定义函数学习笔记
2014/09/23 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
详解python分布式进程
2018/10/08 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
python实现电子书翻页小程序
2019/07/23 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
质检员的岗位职责
2013/11/15 职场文书
关于赌博的检讨书
2014/01/24 职场文书
出纳担保书范文
2014/04/02 职场文书
教师考核评语
2014/04/28 职场文书
项目经理任命书范本
2014/06/05 职场文书
条幅标语大全
2014/06/20 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Java基础之this关键字的使用
2021/06/30 Java/Android
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS