import React, { Component } from ‘react’
export class List extends Component {
state = {
img: ‘’,
data: ‘’
}
onclick = () => {
console.log(this.state.data);
}
getImageUrl = e => {
// e.target.files:上传文件的信息
// console.log(evt.target.files[0]);
//实例化一个FileReader
var fr = new FileReader()
//该事件在读取操作结束时 (要么成功 要么失败) 触发
fr.onloadend = e => {
// console.log(e.target.result,1);
// e.target.result:拿到图片的 base64 格式
this.setState({
img: e.target.result
})
}
//将文件读取为 DataURL (二进制流形式)
fr.readAsDataURL(e.target.files[0])
}
// 图片专二进制
onReadAsBinarySting = e => {
//必须重新 new 一个新实例
const fr = new FileReader()
//该事件在读取操作结束时 (要么成功 要么失败) 触发
fr.onloadend = e => {
this.setState({
data: e.target.result
})
}
fr.readAsBinaryString(e.target.files[0])
}
onChange = e => {
//读取图片 URL
this.getImageUrl(e)
//图片 转 二进制
this.onReadAsBinarySting(e)
}
render() {
return (
<div>
<input type="file" onChange={this.onChange} />
<img src={this.state.img} alt="" />
<button onClick={this.onclick} >上传</button>
</div>
)
}
}
export default List