嗨害嗨!
来了嗷~
简简单单小封装
const getBase64 = (file)=>{
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = (e)=>{
resolve(reader.result)
}
reader.onerror = (error) =>reject(error)
})
}
这里运用Promise的方法清晰方便,上面传参是后台以流的形式,传给你的图片信息,关于new FileReader()的方法,大致意思就是给new一个关于图片的实例,然后根据图片信息进行一些处理,具体自己log打印出来就明白了,有不了解Promise的新手可以看我前面的文章
然后这个方法什么时候用呢,比如我现在用的antd组件,我在上传前做一个格式转换,注意这里不能再上传事件上调用这个方法,会报错,一定是上传前的限制
const beforUpload = async (file)=>{
await getBase64(file.originFileObj)
}