mysql - 如何将类型 blob 图像显示到 ejs 网页?
问题描述
我使用长 blob 创建了一个数据库并将我的图像存储在其中。然后我想将图像显示到我的 ejs 网页之一。但是,它显示为奇怪的字体。我知道我应该转换它以便它工作我只是不知道该怎么做。
这是我在 ejs 中使用的代码:
<% for (var i = 0; i < products.length; i++) { console.log(products[i]); %>
<div class="row">
<div class="cell" data-title="Brand">
<td><%= products[i].brand %></td>
</div>
<div class="cell" data-title="Model">
<td><%= products[i].model %></td>
</div>
<div class="cell" data-title="Series">
<td><%= products[i].series %></td>
</div>
<div class="cell" data-title="Preview">
<td><img src="data:image/jpeg;base64,<%- products[i].image01 %>" /></td>
</div>
</div>
<% } %>
有很多帖子展示了如何在 javascript 中做到这一点,但是有没有办法在 ejs 中做到这一点?另外,我发现的大多数方式看起来都很长,所以我尽量提高效率。请帮忙!
解决方案
根据我的理解,您需要将二进制数据转换为 base64 格式,然后将其传递给 ejs。您可以在 NodeJS 中使用Buffer
.
尝试这个:
products[i] = new Buffer(products[i]).toString('base64');
希望这可以帮助!
推荐阅读
- svg - 在 Adobe Illustrator 中导出为 SVG 会导致在 Web 上查看时出现不同的字体
- wordpress - 在浏览器中将 another-example.com 显示为 example.com/another(2 个域/1 个域上的 WordPress 安装)
- javascript - 为什么我会收到这个 ember-font-awesome 错误?
- github - Github 检查 API 和检查套件
- python - 熊猫:groupby尊重python中的条件
- flutter - 在颤动的视图中显示时,如何将 textAlign.left 添加到类中的项目?
- kubernetes - 通过 HELM 从 CI/CD 部署到权限受限的外部 Kubernetes 集群
- python - Pandas - 优化百分位数计算
- expo - React Native Expo / 深度链接 / 通用链接
- java - Tomcat 上的 ShutdownHooks 线程