Upload
Upload Avatar
import { UploadAvatar } from 'src/components/upload';
function App() {
const [file, setFile] = useState(null);
const handleDrop = useCallback((acceptedFiles) => {
const file = acceptedFiles[0];
if (file) {
setFile(
Object.assign(file, {
preview: URL.createObjectURL(file),
})
);
}
}, []);
return (
<UploadAvatar
accept="image/*"
file={file}
onDrop={handleDrop}
helperText={
<Typography
variant="caption"
sx={{
mt: 2,
mx: 'auto',
display: 'block',
textAlign: 'center',
color: 'text.secondary',
}}
>
Allowed *.jpeg, *.jpg, *.png, *.gif
<br /> max size of {fData(3145728)}
</Typography>
}
/>
);
}
Upload Single File
import { Upload } from 'src/components/upload';
function App() {
const [file, setFile] = useState(null);
const handleDrop = useCallback((acceptedFiles) => {
const file = acceptedFiles[0];
if (file) {
setFile(
Object.assign(file, {
preview: URL.createObjectURL(file),
})
);
}
}, []);
return <Upload file={file} onDrop={handleDrop} />;
}
Upload Multi File
import { Upload } from 'src/components/upload';
function App() {
const [files, setFiles] = useState([]);
const handleDrop = useCallback(
(acceptedFiles) => {
const newFiles = acceptedFiles.map((file) =>
Object.assign(file, {
preview: URL.createObjectURL(file),
})
);
setFiles([...files, ...newFiles]);
},
[files]
);
const handleRemoveFile = (inputFile) => {
const filtered = files.filter((file) => file !== inputFile);
setFiles(filtered);
};
const handleRemoveAllFiles = () => {
setFiles([]);
};
return <Upload multiple thumbnail={preview} files={files} onDrop={handleDrop} onRemove={handleRemoveFile} onRemoveAll={handleRemoveAllFiles} onUpload={() => console.log('ON UPLOAD')} />;
}
Related files:
src/components/upload