如何在反应中将缓冲区数据显示为图像
如何在react中显示图像。 ... ..
function App() {
const [data, setData] = useState();
useEffect(()=>{
const getdata= async()=>{
const response = await axios.get('http://localhost:8000')
setData(response.data)
}getdata()
}, [])
return (
<div>
{data && <img src={"data:image/jpg;base-64,"+data} alt='image'></img>}
</div>
);
}
来自后端的后端
const schema = mongoose.Schema({
img:{data:Buffer,contentType:String},
name:{type: String}
})
const imageModel = mongoose.model('images', schema)
app.get("/", function(req, res, next) {
imageModel.findOne({}, function(err, image) {
if (err) { return next(err); }
res.json(image.img.data);
});
});
How to display image in react. ... ..
function App() {
const [data, setData] = useState();
useEffect(()=>{
const getdata= async()=>{
const response = await axios.get('http://localhost:8000')
setData(response.data)
}getdata()
}, [])
return (
<div>
{data && <img src={"data:image/jpg;base-64,"+data} alt='image'></img>}
</div>
);
}
Backend
const schema = mongoose.Schema({
img:{data:Buffer,contentType:String},
name:{type: String}
})
const imageModel = mongoose.model('images', schema)
app.get("/", function(req, res, next) {
imageModel.findOne({}, function(err, image) {
if (err) { return next(err); }
res.json(image.img.data);
});
});
Response from backend https://i.sstatic.net/x4cSB.png
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
image.img.data.toString("base64")
将缓冲区从数据库转换为base64表示形式。因此,您需要在后端进行以下更改:you can use
image.img.data.toString("base64")
to convert the buffer from the database to base64 representation. So here is what you need to change in your backend: