用来上传用户的头像,由于图片比较小,所以使用base64方式存储。
const beforeUpload = async (file: RcFile) => { const { size } = file; const is1M = size / 1024 / 1024 < 1; if (is1M) { const base64 = await toBase64(file) as string; if (base64) setIcon(base64) form.setFieldsValue({ icon: base64 }) } else { message.warning('上传图片不能大于1M') } return false; } <Upload beforeUpload={beforeUpload} fileList={[]} accept="image/*"> <Button>头像上传</Button> </Upload> //转base64 export const toBase64 = (file: RcFile) => { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file);//这一步是关键 reader.onload = function (ev: any) { // base64码 const imgFile = ev.target.result; resolve(imgFile) } reader.onerror = (err) => { reject(err) } }) }
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接