frontend/Components/FileUploader/index.tsx
2022-08-27 17:41:59 +03:00

39 lines
1.1 KiB
TypeScript

import React, { useState } from "react";
import { Button, message, Upload } from "antd"
import Icon, { UploadOutlined } from '@ant-design/icons';
import 'antd/dist/antd.css';
import { host } from "../../pages/api/consts";
interface FileUploaderIE{
onResponse: (response:any)=>void
}
export const FileUploader:React.FC<FileUploaderIE> = (data) =>{
const props = {
name: 'file',
action: host + '/api/site/docx/',
headers: {
authorization: 'authorization-text',
},
onChange(info:any) {
if (info.file.status !== 'uploading') {
}
if (info.file.status === 'done') {
data.onResponse(info.file.response)
message.success(`${info.file.name} file uploaded successfully`);
} else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`);
}
},
};
return (
<Upload {...props}>
<Button icon={<UploadOutlined></UploadOutlined>}>Click to Upload</Button>
</Upload>
);
}