Antd的Upload上传组件
1.上传图片
const customRequest = async (options) => {
const { file, onProgress, onError, onSuccess } = options
setLoading(true)
const formData = new FormData();
formData.append('file', picFile);
formData.append('folderName','bzf-portal-background');
formData.append('project',"bzf-portal-background");
const { data, code } = await api.upLoadFileRecord(formData);
if (code == 1) {
const fileId = data;
setPicid(data);
const res = await api.downloadFileAddressRecord({ fileId });
if (res.code == 1) {
setImageUrl(res.data);
onProgress({ percent: 100 })
onSuccess(res, file);
file.status = 'done'
message.success('文件上传成功');
}
} else {
if (editpic) {
const res = await api.downloadFileAddressRecord({
fileId: editpic,
});
if (res.code == 1) {
setImageUrl(res.data);
}
}
}
}
const beforeUpload = (file) => {
console.log(file, '文件');
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
if (!isJpgOrPng) {
message.error('只能上传JPG/PNG格式文件!');
return false;
}
const isLt10M = file.size / 1024 / 1024 < 10;
if (!isLt10M) {
message.error('图片大小不能超过10MB!');
return false;
}
setFile(file);
};
<Upload
action="/api/bzf-business-file/fileManage/uploadFileWithRename"
listType="picture-card"
data={{folderName:"bzf-portal-background",project:"bzf-portal-background"}}
customRequest={customRequest}
showUploadList={true}
beforeUpload={(file)=>{beforeUpload(file)}}
maxCount={1}
>
{isEdit ? (
<div>
{}
<img
src={imageUrl}
style={{
width: '90px',
height: '90px',
}}
/>
</div>
) : (
<div>
<PlusOutlined />
<div style={{ marginTop: 8 }}>Upload</div>
</div>)}
</Upload>