后端获得数据类型为img,如何使数据传递到VUE前端将图片展示出来
时间: 2024-05-11 14:19:24 浏览: 217
VUE前端从后台请求过来的数据进行转换数据结构操作
在后端,将图片数据转换成Base64编码的字符串,然后将该字符串作为响应数据返回给前端。在前端,可以使用img标签将Base64编码的字符串转换成图片进行展示。以下是一个简单的示例:
后端代码(以Python Flask框架为例):
```python
import base64
@app.route('/get_image', methods=['GET'])
def get_image():
with open('image.jpg', 'rb') as f:
image_data = f.read()
encoded_image = base64.b64encode(image_data).decode('utf-8')
return {'image': encoded_image}
```
前端代码(以Vue.js为例):
```html
<template>
<div>
<img :src="imageSrc">
</div>
</template>
<script>
export default {
data() {
return {
imageSrc: ''
}
},
mounted() {
axios.get('/get_image')
.then(response => {
this.imageSrc = 'data:image/jpeg;base64,' + response.data.image
})
.catch(error => {
console.log(error)
})
}
}
</script>
```
在上述示例中,后端将图片数据读取为二进制数据,使用Base64编码将其转换为字符串,并返回给前端。前端使用axios发送GET请求获取图片数据,然后将Base64字符串转换为图片展示。需要注意的是,在img标签的src属性中,需要指定图片的MIME类型以及Base64字符串的前缀(data:image/jpeg;base64,)。
阅读全文