javascript - 在 Vue.js 中从数据库显示图像到浏览器
问题描述
我需要显示数据库中的一组图像。我将它作为 blob 存储到数据库中并将其转换为 base64 字符串,以便我的前端代码可以将其转换为图像。即使将 base64 字符串从后端发送到前端,我下面的代码也不起作用。我从前端获取它的方式有问题吗?
前端
<template>
<q-img
v-for="(data, index) in base64data"
:key="index"
:src="'data:image/jpeg;base64,' + data"
ratio="1"
/>
</template>
<script>
export default {
methods: {
getTests() {
axios
.get("http://localhost/MyComposer/", {
params: {
id: 6,
token: this.token
}
})
.then(res => {
//console.log(res.data);
this.base64data = res.data.TestImage;
for (var i = 0; i < res.data.length; i++) {
// this.base64data = res.data[i].TestImage;
//console.log(this.base64data);
this.dataList.push({
subjectId: res.data[i].SubjectId,
question: res.data[i].Question,
answer: res.data[i].Answer,
// testImage: res.data[i].TestImage,
timer: res.data[i].Timer / 60
});
}
});
}
},
}
}
后端
public function getTest()
{
$datab = new ConnectDb;
$db = $datab->Connect();
// if (isset($_GET['id']) && $_GET['id'] == 3) {
// $db->where('AccessId', $_GET['token']);
// $testdb = $db->get('testdetails');
// echo json_encode($testdb);
// }
if (isset($_GET['id']) && $_GET['id'] == 6) {
$db->where('AccessId', $_GET['token']);
$testdb = $db->get('testdetails');
foreach ($testdb as $test) {
$testdb2 = base64_encode($test['TestImage']);
header("content-type: image/jpeg");
}
// $db->where('AccessId', $_GET['token']);
// $db->where('TestImage', base64_encode($testdb2));
// $testdb3 = $db->get('testdetails');
echo json_encode($testdb2);
print_r($testdb2);
}
}
解决方案
在 vue.js 中,你不应该在属性上使用插值,使用v-bind
or:
代替。另一方面,您有一个硬编码1
的比率值,但使用v-bind
它。你应该在那里删除它。
<q-img v-for="data in base64data" :src="'data:image/jpeg;base64,' + data" ratio="1" />
推荐阅读
- powerbi - 利润 < 零的前 10 名成本
- c# - 如何使用 net5 OpenAPI 支持指定基本接口
- azure - 寻找天蓝色物联网连接工厂演示
- r - 从零开始的ggplot传奇
- javascript - 找不到命名空间“去”
- keras - TypeError: texts_to_matrix() 得到了一个意外的关键字参数“num_words”
- azure - 用于 E2E 流解决方案的 Azure devops 实施
- java - 使用 SonarLint 插件和 SonarQube 服务器未检测到 HTTP 请求重定向漏洞
- django - 如何在表单中使用预填充的 ChoiceField 创建实例
- jenkins - Sonar-Gerrit Jenkins 插件未报告有关 Gerrit 的问题