首页 > 解决方案 > 如何将类型 blob 图像显示到 ejs 网页?

问题描述

我使用长 blob 创建了一个数据库并将我的图像存储在其中。然后我想将图像显示到我的 ejs 网页之一。但是,它显示为奇怪的字体。我知道我应该转换它以便它工作我只是不知道该怎么做。

这是我运行我的 node-js 服务器时显示的内容: 在此处输入图像描述

这是我在 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 中做到这一点?另外,我发现的大多数方式看起来都很长,所以我尽量提高效率。请帮忙!

标签: mysqlnode.jsblobejs

解决方案


根据我的理解,您需要将二进制数据转换为 base64 格式,然后将其传递给 ejs。您可以在 NodeJS 中使用Buffer.

尝试这个:

products[i] = new Buffer(products[i]).toString('base64');

希望这可以帮助!


推荐阅读