单独的上传图片接口要传参,action方式不太适合,需要使用自定义上传customRequest覆盖

公司代码不可弄,就发一个可用的demo例子

import React, { useState } from "react";
import { render } from "react-dom";
import "antd/dist/antd.css";
import axios from "axios";
import "./style.css";import { Upload, Progress } from "antd";const App = () => {const [defaultFileList, setDefaultFileList] = useState([]);const [progress, setProgress] = useState(0);const uploadImage = async options => {const { onSuccess, onError, file, onProgress } = options;const fmData = new FormData();const config = {headers: { "content-type": "multipart/form-data" },onUploadProgress: event => {const percent = Math.floor((event.loaded / event.total) * 100);setProgress(percent);if (percent === 100) {setTimeout(() => setProgress(0), 1000);}onProgress({ percent: (event.loaded / event.total) * 100 });}};fmData.append("image", file);try {const res = await axios.post("https://jsonplaceholder.typicode.com/posts",fmData,config);onSuccess(res);console.log("server res: ", res);} catch (err) {console.log("Eroor: ", err);const error = new Error("Some error");onError({ err });}};const handleOnChange = ({ file, fileList, event }) => {// console.log(file, fileList, event);//Using Hooks to update the state to the current filelistsetDefaultFileList(fileList);//filelist - [{uid: "-1",url:'Some url to image'}]};return (<div class="container"><Uploadaccept="image/*"customRequest={uploadImage}onChange={handleOnChange}listType="picture-card"defaultFileList={defaultFileList}className="image-upload-grid"onProgress={({ percent }) => {console.log("progre...", percent);if (percent === 100) {setTimeout(() => setProgress(0), 1000);}return setProgress(Math.floor(percent));}}>{defaultFileList.length >= 1 ? null : <div>Upload Button</div>}</Upload>{progress > 0 ? <Progress percent={progress} /> : null}</div>);
};render(<App />, document.getElementById("root"));

onSuccess(res);

接口返回的数据都存到fileList里每个file的responese属性,还有state,可以在onChange里进行逻辑处理!!!

React Antd Upload自定义上传customRequest相关推荐

  1. Ant Design Upload 自定义上传 customRequest

    本文章重点描述上传组件 Upload 的 customRequest 自定义文件上传逻辑的实现 目录 Upload 常用属性和方法 默认上传 customRequest 自定义上传 Upload 自定 ...

  2. antd Upload 自定义上传

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

  3. antd Upload组件上传状态一直处于uploading

    antd Upload组件上传状态一直处于uploading 对于受控模式,需要在 onChange 中始终 setState fileList,保证所有状态同步到 Upload 内 import { ...

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

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

  5. antd Upload手动上传(react)

    情况介绍 在antd官方提供的upload组件案例中,都使用了action属性直接上传,唯一手动上传的一个例子(如下图)也不够好用,可能不能满足项目的需求,所以我们需要对其进行一些修改,并加入一些别的 ...

  6. Antd Upload 文件上传,自定义上传错误信息

    项目需求 使用antd Upload 组件 项目上要求前端对上传不符合标准的图片展示具体的错误信息 不设置action,即返回信息无response ,先在前端上传后调用接口保存 效果截图 主要是根据 ...

  7. antd Upload 文件上传

    1.antd官网Upload组件: https://ant.design/components/upload-cn/ 2.下图是最近开发的上传文档的效果: 3.文件上传的实现: (1)方法一:antd ...

  8. react+antd实现图片上传并且剪裁(请参照最新文章,此案例有bug)

    代码详情 (存在的bug:只有第一次上传剪裁是正确的,在不刷新页面的情况下再次进行剪裁会出现错误,目前没有找到解决办法.) 解决办法:点击上传按钮完成上传之后,按钮变为不能点击的状态,阻止bug的发生 ...

  9. antd upload手动上传_Flask上传文件

    Flask上传文件 上传文件包括很多,比如用户头像,文章图片,文件分享等等,它也涉及到很多内容:上传文件,过滤文件类型,限制大小,文件名的编辑,拖拽上传,进度条,文件命名,文件目录的管理等等. 文件上 ...

最新文章

  1. python可视化lassocv特征筛选之后的特征的相关性分析热力图
  2. 使用IRP进行文件操作
  3. [leetcode][math] Add Digits
  4. java中高级大公司多线程面试题
  5. 转载 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛? (手机游戏)...
  6. CG-CTF-Web-GBK Injection
  7. 代码编辑器横评:为什么 VS Code 能拔得头筹
  8. Flutter AppBar 简述
  9. python大漠插件官网视频教程_python调用大漠插件教程01注册大漠
  10. python查找相似图片或重复图片
  11. 树莓派 USB摄像头
  12. scp构造端口_scp端口号(scp默认端口号)
  13. 居住证申领条件放宽!关系孩子上学!
  14. 【推荐系统】:Deep Crossing模型解析以及代码实现
  15. Word文档中最后一页底端的表格制作
  16. 使用 acme.sh 生成免费的泛域名证书
  17. 抗癌药物之多肽药物偶联物技术(PDC)介绍
  18. 阴阳师真八歧大蛇最低配置攻略,蛇黑切
  19. postman使用方法
  20. 菜鸟学算法——动态规划(二)

热门文章

  1. STL常用对象,不会搞得C++跟没学一样
  2. 数据结构-二叉树的遍历
  3. IncompatibleClassChangFound interface org.apache.hadoop.mapreduce.JobContext, but class was expected
  4. Leetcode刷题 34.在排序数组中查找元素的第一个和最后一个位置
  5. FLASH与E²PROM的区别
  6. 熊猫分发_实用熊猫指南
  7. 看奥运之五:关于“鸟巢”、“水立方”的数据和内涵
  8. python调用报表制作工具_使用Python轻松制作漂亮的表格
  9. asp mysql insert_用asp把表单数据插入数据库的2种常用方法
  10. pyautogui 打包 运行 窗口_试试动态窗口管理器 dwm 吧