Antdupload小结

一、Antdupload的概述

Antdupload是一个基于React框架的上传组件。它使用了Ant Design的风格,并提供了丰富的上传功能。在使用Antdupload之前,我们需要先安装Ant Design和React。

二、Antdupload的使用

1、引入Antdupload和Ant Design样式


import { Upload } from 'antd';
import 'antd/dist/antd.css';

2、构造上传组件


const props = {
  name: 'file',
  action: '/upload.do',
  headers: {
    authorization: 'authorization-text',
  },
  onChange(info) {
    if (info.file.status !== 'uploading') {
      console.log(info.file, info.fileList);
    }
    if (info.file.status === 'done') {
      message.success(`${info.file.name} file uploaded successfully`);
    } else if (info.file.status === 'error') {
      message.error(`${info.file.name} file upload failed.`);
    }
  },
};
ReactDOM.render(
  
    
  ,
  mountNode,
);

3、参数说明:


action: 上传地址,必选参数
data: 上传所需数据或上传函数,可选参数
defaultFileList: 默认已上传的文件列表。数组中的每个对象均需包含 uid 属性
directory: 支持上传文件夹,IE10+ 以及 Edge 浏览器不支持该参数
headers: 设置上传的请求头部
listType: 上传列表的内建样式,支持三种基本样式 text, picture 和 picture-card
multiple: 是否支持多选文件
name: 发到后台的文件参数名
showUploadList: 显示已上传文件列表的样式

三、Antdupload的新特性

1、Chunk Upload

Antdupload支持大文件上传,以及将大文件拆分为多个块同时上传,从而提高上传速度和稳定性。这样做的好处是,如果某一块上传失败,只需要重新上传该块即可,不需要重新上传整个文件。


import { Upload } from 'antd';
import 'antd/dist/antd.css';

const props = {
  name: 'file',
  action: '/upload.do',
  headers: {
    authorization: 'authorization-text',
  },
  onChange(info) {
    if (info.file.status !== 'uploading') {
      console.log(info.file, info.fileList);
    }
    if (info.file.status === 'done') {
      message.success(`${info.file.name} file uploaded successfully`);
    } else if (info.file.status === 'error') {
      message.error(`${info.file.name} file upload failed.`);
    }
  },
  data: {
    chunkCount: 4,
  },
  listType: 'picture',
  multiple: true,
};
ReactDOM.render(
  
    

Click or drag file to this area to upload

Support for a single or bulk upload.

, mountNode, );

2、Image Preview

Antdupload支持图片预览功能,同时支持自定义预览和删除操作。


import { Upload, Modal } from 'antd';
import 'antd/dist/antd.css';

const { confirm } = Modal;

function getBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
}

class PicturesWall extends React.Component {
state = {
previewVisible: false,
previewImage: '',
fileList: [
{
uid: '-1',
name: 'image.png',
status: 'done',
url: 'https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png',
},
],
};

handleCancel = () => this.setState({ previewVisible: false });

handlePreview = async file => {
if (!file.url && !file.preview) {
file.preview = await getBase64(file.originFileObj);
}

this.setState({
previewImage: file.url || file.preview,
previewVisible: true,
});
};

handleChange = ({ fileList }) => this.setState({ fileList });

handleRemove = file => {
confirm({
title: 'Delete this file?',
onOk() {
console.log('OK');
},
onCancel() {
console.log('Cancel');
},
});
};

render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (

Upload

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/244338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 13:01
下一篇 2024-12-12 13:01

相关推荐

  • Linux OpenGL 小结

    一、OpenGL 简介 OpenGL(Open Graphics Library), 是一个跨平台的全局性图像处理API, 几乎可以用于所有操作系统中。OpenGL提供了一套能够显…

    编程 2025-01-27
  • 优化php程序的方法小结(优化php程序的方法小结)

    本文目录一览: 1、php 如何避免在循环体里查询数据库,优化方法?? 2、如何彻底优化php程序降低CPU占用 3、PHP 怎么优化一个乱七八糟的程序 4、如何提高PHP写入文件…

    编程 2025-01-16
  • MongoDB数组查询小结

    MongoDB是一种NoSQL数据库,其最大的特点之一是支持数组类型。在MongoDB中,数组可以作为嵌套文档的一部分,或者是文档字段的值。在本文中,我们将从以下几个方面出发,详细…

    编程 2025-01-07
  • Pycharm自动补全的小结

    PyCharm是一种功能强大的编程IDE,可以提供用于Python编程和其他许多编程语言的自动补全功能。PyCharm的自动补全功能为开发人员提供了许多有用的工具来编写和管理代码。…

    编程 2024-12-30
  • 函数小结c语言,c语言函数介绍

    本文目录一览: 1、C语言函数的特点及其定义? 2、详细的C语言函数介绍 3、c语言 求总结字符串输入、输出函数使用的区别。 4、学习c语言函数这一章的心得,和方法技巧。 5、C语…

    编程 2024-12-29
  • php网站开发使用技巧小结(php网站开发使用技巧小结怎么写)

    本文目录一览: 1、云南java培训分享PHP软件开发程序拓展的五大方法 2、怎样用php建站 3、用php开发网站的步骤是什么? 4、怎么用php开发网站 5、php怎么用 云南…

    编程 2024-12-29
  • mysql数据库提权小结(oracle数据库提权)

    本文目录一览: 1、mysql的特点是什么? 2、windows靶场提权总结 3、mysql数据库被攻击怎么恢复数据 4、windows 2008 怎么利用mysql提权 5、my…

    编程 2024-12-23
  • mysql数据库管理小结(数据库的总结报告)

    本文目录一览: 1、用什么管理工具管理mysql数据库 2、如何管理MySQL数据库 3、如何使用phpmyadmin管理mysql数据库 4、什么是MYSQL数据库 5、Mysq…

    编程 2024-12-17
  • php命名空间小结下载(php结构)

    本文目录一览: 1、php 命名空间是怎么自动加载的 2、什么是php命名空间 3、PHP的命名空间使用方法,求写实例 4、关于php的命名空间的问题 php 命名空间是怎么自动加…

    编程 2024-12-16
  • c语言与程序设计的小结,C语言程序设计小结

    本文目录一览: 1、c语言课程的总结 2、要C语言程序设计试验报告的小结,谁有? 3、c语言程序设计心得 c语言课程的总结 1.先学习C语言的基础知识。现在正在学C语言的在校学生可…

    编程 2024-12-12

发表回复

登录后才能评论