今天对接口时 , 看到上传图片要求上传base64形式的 , 当时就觉得 , 我是不是得罪后端了 , 这不纯属为难人吗 ? 只有不停的问同事 , 和上网查询总结资料 , 其实转base64很简单,就三步死方法,先放这用到了再来拿
const reader = new FileReader()
// 2.读取文件对象
reader.readAsDataURL(e.target.files[0])
// 3.监听onload文件读取完毕事件
reader.onload = () =>{
console.log(reader.result)
}
主要是利用onload来监听文件内容是否读取到
下面是转载CSDN博主「右想小小怪」的原创文章
1:FileReader : 读取文件内容 readAsText() 读取文本文件,(可以使用Txt打开的文件)
readAsBinaryString(): 读取任意类型的文件,返回二进制字符串
readAsDataURL: 方法可以将读取到的文件编码成DataURL ,可以将资料(例如图片、excel文件)内嵌在网页之中,不用放到外部文件
abort: 中断读取
2:FileReader 提供一个完整的事件模型,用来捕获读取文件的状态 onabort:读取文件断片时触发
onerror:读取文件错误时触发
onload:文件读取成功时触发
onloadend:文件读取完毕之后,不管成功还是失败触发
onloadstart: 开始读取文件时触发
onprogress:读取文件过程中触发
————————————————