本文章重点描述上传组件 Upload 的 customRequest 自定义文件上传逻辑的实现

目录

  • Upload 常用属性和方法
  • 默认上传
  • customRequest 自定义上传
  • Upload 自定义上传逻辑的实现+进度条实现

Upload 常用属性和方法

默认上传

 <Uploadaction="http://xx.xx.xxx.xx:3000/upload/rich_editor_upload"listType="picture"defaultFileList={[...fileList]}onChange={change}><Button icon={<UploadOutlined />}>Upload</Button></Upload>

优点:只用写接口,就可以上传文件(内部封装了 上传状态函数,及进度条状态)
缺点:默认上传可以满足我们大部分需求,但是具有局限性,不能够灵活开发。

customRequest 自定义上传

 <Uploadaction="http://xx.xx.xxx.xx:3000/upload/rich_editor_upload"customRequest={uploadFile}listType="picture"defaultFileList={[...fileList]}onChange={change}><Button icon={<UploadOutlined />}>Upload</Button></Upload>uploadFile(file=>{update(file).then(res=>{})])

customRequest属性覆盖默认上传行为,此时action属性不在触发

优点:可根据自己的需求对上传文件前后的回调做相应的处理

缺点:上传状态函数,及进度条状态展示 都需要后来自己添加

Upload 自定义上传逻辑的实现+进度条实现

 <Uploadaction="http://47.95.197.56:3000/upload/rich_editor_upload"customRequest={uploadFile}listType="picture"defaultFileList={[...fileList]}onChange={change}><Button icon={<UploadOutlined />}>Upload</Button></Upload>
  const uploadFile = async (file) => {console.log("uploadFile方法")console.log(file)uploadApi({file: file.file,onUploadProgress: (ev) => {// ev - axios 上传进度实例,上传过程触发多次// ev.loaded 当前已上传内容的大小,ev.total - 本次上传请求内容总大小console.log(ev)const percent = (ev.loaded / ev.total) * 100// 计算出上传进度,调用组件进度条方法file.onProgress({ percent })},}).then((res) => {console.log("上传成功" + res)file.onSuccess(res, file)}).catch((err) => {file.onError(err)})}const uploadApi = async ({ file, onUploadProgress }) => {console.log("uploadApi方法")const fd = new FormData()fd.append("file", file)const res = await upLoad(fd, onUploadProgress)// //上传成功后// onSuccess(res.data, file)console.log(res)// console.log(fileList)}

写完后就跟默认上传是一样的效果了

Ant Design Upload 自定义上传 customRequest相关推荐

  1. React Antd Upload自定义上传customRequest

    单独的上传图片接口要传参,action方式不太适合,需要使用自定义上传customRequest覆盖 公司代码不可弄,就发一个可用的demo例子 import React, { useState } ...

  2. ant design Upload组件上传文件类型

    Upload组件上传文件类型设置 1.设置上传文件类型为excel <template><a-uploadname="file":multiple="t ...

  3. React开发(267):ant design upload简单上传

    ## 如果只是简单的上传,没必要写 customRequest ```javascript<Uploadname="file"action={`${BASE_URL}/com ...

  4. 使用ngZorro中Upload自定义上传时XMLHttpRequest问题解决方法

    使用ngZorro中Upload自定义上传时XMLHttpRequest问题解决方法 使用angular框架写前端的用户一般都比较喜欢用ngZorro,本人最近在使用ngZorro中的Upload自定 ...

  5. antd Upload 自定义上传

    需求 由于使用antd 上传图片,在某些情况下,例如token 失效,导致上传图片错误,但是antd 组件始终会走onChange 事件 导致上传路径为空情况 解决办法 使用自定义上传 // 自定义上 ...

  6. antd design Upload文件上传,删除,批量上传组件封装

    1.单个文件上传组件,无文件时显示上传,有文件时显示文件,可删除,重新上传,样式适合图片上传,可根据文件格式更改样式,效果图如下. 页面调用代码 <FormItem{...formItemLay ...

  7. Ant Design Vue 文件上传自定义按钮和文件列表位置

    采用默认上传文件样式如下: 主要代码如下,可参照官方示例 <a-uploadname="file"style="float: left;"@change= ...

  8. React Ant Design UI 图片上传组件 代码片段

    用户可以上传图片并在列表中显示缩略图.当上传照片数到达限制后,上传按钮消失. import { Upload, Icon, Modal } from 'antd';class PicturesWall ...

  9. Vue+Ant Design of Vue上传文件,并限制上传文件数及限制其类型

    upload创建,accept选择上传的类型,file-list上传的数据,remove点击移除文件时的回调,before-upload上传文件之前的钩子,参数为上传的文件,若返回 false 则停止 ...

最新文章

  1. JS中for循环里面的闭包问题的原因及解决办法
  2. school‘s movie demonstration
  3. Pentaho BI server 中 CCC table Component 的使用小技巧
  4. spring ,springmvc的常用标签注解
  5. PCL之统计异常值去除滤波器--StatisticalOutlierRemoval
  6. SQLServer 使用sp_repldone标识所有未分发的事务为已分发
  7. 米家扫地机器人是石头代工的_石头科技的隐忧:智能扫地机器人前有高山 后有追兵...
  8. 苹果录制屏幕在哪设置_屏幕录像专家如何录全屏 屏幕录像专家全屏录制设置方法...
  9. android 毕业设计论文总结报告,android课程设计报告.doc
  10. matlab 2010 win10,win10系统运行matlab2010找不到指定的程序的教程介绍
  11. php 开发 oa 框架,基于ThinkPHP框架开发的全功能OA办公管理系统PHP源码
  12. acm 算法 java_【经验总结】Java在ACM算法竞赛编程中易错点
  13. 一站式解决网站死链问题
  14. 基于STM32F407的测距模块HY-SRF05轮询开发
  15. Listen failure: Couldn‘t listen on 10.30.3.17:8000: [WinError 10049]
  16. Processor 处理器
  17. Swift macOS NSTextField 响应键盘按键 Enter 回车键,或者其它按键
  18. 互联网寒冬,软件测试尚能饭否?
  19. JPA映射数据库mysql表名,字段名大小写转化,下划线分割.
  20. ASEMI代理AD9959BCPZ原装ADI车规级AD9959BCPZ

热门文章

  1. ulimit -c unlimited
  2. 微信登陆Web应用解决方案
  3. java程序员的浪漫代码_程序员的“硬核”浪漫
  4. 织梦标签:列表页排序显示的方式汇总!
  5. Maya: 菜单 曲面 双轨成形双轨成形1工具
  6. 月黑雁飞高,计网全知道——精选二十七道计网面试题目
  7. 金融服务产品用户协议模板(供参考)
  8. layui上传图片列表展示_ThinkPHP5+Layui实现图片上传加预览功能
  9. Windows操作系统上安装BIEE
  10. 猎豹移动Q1营收2亿元:连续9个月同比下滑,频现高管离职