我已将图像插入数据库,而且我从数据库到服务器接收图像并反应,但在我的反应中我收到它有二进制数据。 但是如何将二进制数据转换为反应中的图像。
class Pre extends React.Component{
constructor(props){
super(props);
this.state={
post:[]
};
}
componentDidMount(){
let self = this;
axios.get('http://localhost:8080/images')
.then(function(data) {
//console.log(data);
self.setState({post:data.data});
});
}
render(){
console.log(this.state.post);
return(
<div className="w3-container">
<p className="addboard"> <Link className="linkpre" to="/createstudent I">
<button className="addbutton" type="button"><h1>+</h1></button></Link></p>
{this.state.post}
)}
)}
</div>
);
}
}
export default Pre;
答案 0 :(得分:4)
将二进制数据转换为图像与ReactJS
无关,如果您有二进制数据,则将其转换为如下图像:
<img src={`data:image/jpeg;base64,${binary_data}`} />
答案 1 :(得分:0)
给定的方法是正确的
<img src={`data:image/jpeg;base64,${binary_data}`} />
如果未渲染图像,请检查您的二进制字符串,如果 data:image / jpeg; base64 已经存在,请使用 {binary_data} 直。像
<img src={binary_data} />