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>
)
}
}