react antd 表单里的上传图片

Posted yetiezhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react antd 表单里的上传图片相关的知识,希望对你有一定的参考价值。

import React, { Component } from ‘react‘
import { Form, Upload, Button, message } from ‘antd‘;

export default @Form.create()
class ImgUpload extends Component {

  handleSubmit = e => {
    e.preventDefault();
    this.props.form.validateFields((err, values) => {
      if (!err) {
        console.log(values);
      }
    })
  }
  // 上传之前做一些验证
  beforeUpload = e => {
    if( e.type != ‘image/png‘ ) {
      message.error(‘格式不对‘)
      return false
    }
  }
  // 准备上传,上传中,上传后
  normFile = e => {
    if( e.file.type != ‘image/png‘ ) return false //这里也做一个验证
    if ( Array.isArray(e) ) return e
    return e && e.fileList;
  }

  render() {
    const { getFieldDecorator } = this.props.form
    return (
      <div className=‘page_imgUpload‘>
        <Form onSubmit={this.handleSubmit}>
          <Form.Item label="Upload">
            {getFieldDecorator(‘upload‘, {
              valuePropName: ‘fileList‘,
              getValueFromEvent: this.normFile,
            })(
              <Upload 
                name="file" //这个name 字段是后台接口的一个参数名,必填
                action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
                beforeUpload = {this.beforeUpload}  //上传前的回调,用来处理用户格式不正确的逻辑
              >
                <Button>
                  Click to upload
                </Button>
              </Upload>,
            )}
          </Form.Item>
          <Form.Item>
            <Button type="primary" htmlType="submit">
              Submit
            </Button>
          </Form.Item>
        </Form>
      </div>
    )
  }
}

  

以上是关于react antd 表单里的上传图片的主要内容,如果未能解决你的问题,请参考以下文章

React 使用antd imagePicker选择并上传图片

antd 表单图片上传、表格拖拽排序

我们一起踩过的坑----react(antd)

React Antd的验证- antd form表单一行多个组件并对其校验(一个FormItem中多个Input校验)

nest上传图片

ant-pro使用Form表单验证上传图片出现的问题