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 相关文章推荐
Jquery操作radio的简单实例
Jan 06 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
javascript密码强度校验代码(两种方法)
Aug 10 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
vue 使用外部JS与调用原生API操作示例
Dec 02 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
Node.js fs模块原理及常见用途
Oct 22 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屏蔽过滤指定关键字的方法
2014/11/03 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
php数据访问之增删改查操作
2016/05/09 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
Vue.use源码分析
2017/04/22 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
haskell实现多线程服务器实例代码
2013/11/26 Python
python实现动态数组的示例代码
2019/07/15 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
软件部经理岗位职责范本
2014/02/25 职场文书
房产委托公证书
2014/04/08 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
财务人员担保书
2014/05/13 职场文书
学校花圃的标语
2014/06/18 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
大学生操行评语大全
2014/12/31 职场文书
工作证明格式范文
2015/06/15 职场文书
关于python类SortedList详解
2021/09/04 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫