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 相关文章推荐
JS实现简易图片轮播效果的方法
Mar 25 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
Oct 21 Javascript
基于JavaScript怎么实现让歌词滚动播放
Nov 03 Javascript
谈一谈javascript闭包
Jan 28 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
vue proxy 的优势与使用场景实现
Jun 15 Javascript
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 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中取得文件的后缀名?
2012/02/20 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
设定php简写功能的方法
2019/11/28 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
python实现银行管理系统
2019/10/25 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
Python的in,is和id函数代码实例
2020/04/18 Python
Python内置函数及功能简介汇总
2020/10/13 Python
毕业生造价工程师求职信
2013/10/17 职场文书
产品质量承诺书范文
2014/03/27 职场文书
学习之星事迹材料
2014/05/17 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
小学生差生评语
2014/12/29 职场文书
在Django中使用MQTT的方法
2021/05/10 Python