react+antd+upload结合使用示例

 更新时间:2023年05月31日 08:35:17   作者:灰太狼的情与殇  
这篇文章主要为大家介绍了react+antd+upload结合使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

电脑系统 windows11专业版

开发环境 react16+antd4

在项目开发的时候,我们会需要在上传的时候做一些限制,下面我来分享一下。

template

<Upload
  listType="picture-card"
  className="avatar-uploader"
  fileList={hotImgFileList}
  showUploadList={{
    showPreviewIcon: true,
    showDownloadIcon: false,
    showRemoveIcon: true,
  }}
  customRequest={(options) => {
    UploadCustomRequest(options, {
      type: 'bgImg',
      FileSize: 1,
      fileType: ['png', 'jpg', 'jpeg'],
      fileTypeValue: '.png、.jpg、.jpeg',
    });
  }}
  beforeUpload={(file) => {
    beforeUpload(file, {
      type: 'bgImg',
      FileWidth: 750,
      FileHeight: 0,
      fileWidthValue: '750*0',
    });
  }}
  >

mathods

const beforeUpload = (file, data) => {
    const width = data.FileWidth;
    const height = file.FileHeight;
    return new Promise((resolve, reject) => {
      let reader = new FileReader();
      reader.addEventListener(
        'load',
        () => {
          let img = new Image();
          img.src = reader.result;
          img.onload = () => {
            if (img.width < width || img.height < height) {
              data.FileHeight == 0
                ? message.error(`请上传宽大于等于 ${data.FileWidth} 的封面图!`)
                : message.error(`请上传宽高大于等于 ${data.fileWidthValue} 的封面图!`);
              reject(`请上传宽高大于等于 ${data.fileWidthValue} 的封面图!`);
            } else {
              resolve();
            }
          };
        },
        false,
      );
      reader.readAsDataURL(file);
    });
  };
const UploadCustomRequest = (options, data) => {
    // console.log(options);
    console.log(options.file);
    console.log(data);
    const fileType = options.file.name.split('.');
    const fileDate = fileType.slice(-1);
    const isFileSize = options.file.size / 1024 / 1024 < data.FileSize;
    let IsFileType = false;
    if (data.fileType.indexOf(fileDate[0]) < 0) {
      IsFileType = false;
      message.error(`仅支持图片格式:${data.fileTypeValue}格式图片!`);
      return Upload.LIST_IGNORE;
    } else {
      IsFileType = true;
    }
    !isFileSize && message.error(`上传图片大小不能超过${data.FileSize}M!`) && Upload.LIST_IGNORE;
  };

本期的分享到这里就结束啦,希望对你有所帮助,让我们一起努力走向巅峰。

以上就是react+antd+upload 使用的详细内容,更多关于react+antd+upload 使用的资料请关注脚本之家其它相关文章!

相关文章

  • react native图片解析流程详解

    react native图片解析流程详解

    这篇文章主要为大家介绍了react native图片解析流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • React Diff原理深入分析

    React Diff原理深入分析

    这篇文章主要介绍了React Diff原理的相关资料,帮助大家更好的理解和学习使用React框架,感兴趣的朋友可以了解下
    2021-04-04
  • react中axios结合后端实现GET和POST请求方式

    react中axios结合后端实现GET和POST请求方式

    这篇文章主要介绍了react中axios结合后端实现GET和POST请求方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • react umi 刷新或关闭浏览器时清除localStorage方式

    react umi 刷新或关闭浏览器时清除localStorage方式

    这篇文章主要介绍了react umi 刷新或关闭浏览器时清除localStorage方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • react dva实现的代码

    react dva实现的代码

    dva是一个基于redux和redux-saga的数据流方案,然后为了简化开发体验,dva额外内置了react-router,fetch,可以激烈为一个轻量级的应用框架,这篇文章主要介绍了react dva实现,需要的朋友可以参考下
    2021-11-11
  • 详解React自定义Hook

    详解React自定义Hook

    在React项目中,我们经常会使用到React自带的几个内置Hooks,如 useState,useContext和useEffect。虽然在React中找不到这些 Hooks,但React提供了非常灵活的方式让你为自己的需求来创建自己的自定义Hooks,想了解更多的,欢迎阅读本文
    2023-04-04
  • 基于antd的autocomplete的二次封装查询示例

    基于antd的autocomplete的二次封装查询示例

    这篇文章主要为大家介绍了基于antd的autocomplete的二次封装查询示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • react-router v4如何使用history控制路由跳转详解

    react-router v4如何使用history控制路由跳转详解

    这篇文章主要给大家介绍了关于react-router v4如何使用history控制路由跳转的相关资料,文中通过示例代码介绍的的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • 详解vant2 自动检查表单验证 -validate

    详解vant2 自动检查表单验证 -validate

    这篇文章主要介绍了vant2 自动检查表单验证 -validate,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • React+TypeScript项目中使用CodeMirror的步骤

    React+TypeScript项目中使用CodeMirror的步骤

    CodeMirror被广泛应用于许多Web应用程序和开发工具,之前做需求用到过codeMirror这个工具,觉得还不错,功能很强大,所以记录一下改工具的基础用法,对React+TypeScript项目中使用CodeMirror的步骤感兴趣的朋友跟随小编一起看看吧
    2023-07-07

最新评论