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 相关文章推荐
在网页中控制wmplayer播放器
Jul 01 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
js 中的switch表达式使用示例
Jun 03 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
jQuery提示效果代码分享
Nov 20 Javascript
javascript实现获取浏览器版本、操作系统类型
Jan 29 Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
VueCli3.0中集成MockApi的方法示例
Jul 05 Javascript
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
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+DBM的同学录程序(4)
2006/10/09 PHP
一段防盗连的PHP代码
2006/12/06 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
js控制分页打印、打印分页示例
2014/02/08 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
python使用opencv进行人脸识别
2017/04/07 Python
python3个性签名设计实现代码
2018/06/19 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
python画图的函数用法以及技巧
2019/06/28 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
大学军训感想
2014/02/12 职场文书
打架检讨书2000字
2014/02/22 职场文书
保密承诺书
2014/03/27 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
Python socket如何解析HTTP请求内容
2022/02/12 Python
HttpClient实现表单提交上传文件
2022/08/14 Java/Android