mue/src/components/modals/main/settings/FileUpload.jsx

41 lines
1010 B
React
Raw Normal View History

import variables from 'modules/variables';
2021-08-14 19:10:48 +00:00
import { PureComponent } from 'react';
2020-12-01 20:00:40 +00:00
import { toast } from 'react-toastify';
2021-08-14 19:10:48 +00:00
export default class FileUpload extends PureComponent {
getMessage = (text) => variables.language.getMessage(variables.languagecode, text);
2020-12-01 20:00:40 +00:00
componentDidMount() {
document.getElementById(this.props.id).onchange = (e) => {
const reader = new FileReader();
const file = e.target.files[0];
2020-12-01 20:00:40 +00:00
if (this.props.type === 'settings') {
reader.readAsText(file, 'UTF-8');
} else {
// background upload
if (file.size > 2000000) {
return toast(this.getMessage('modals.main.file_upload_error'));
2020-12-01 20:00:40 +00:00
}
2021-01-17 18:07:26 +00:00
reader.readAsDataURL(file);
}
2021-04-21 18:35:33 +00:00
reader.addEventListener('load', (e) => {
this.props.loadFunction(e);
});
2020-12-01 20:00:40 +00:00
};
}
render() {
return (
<input
id={this.props.id}
type="file"
style={{ display: 'none' }}
accept={this.props.accept}
/>
);
2020-12-01 20:00:40 +00:00
}
}