如何在ejs网页上显示blob类型的图像?

b09cbbtk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(436)

我使用long 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中实现呢?而且,我发现的大多数方法看起来都很长,所以我尽可能地提高效率。请帮帮我!

pw9qyyiw

pw9qyyiw1#

根据我的理解,您需要将二进制数据转换为base64格式,然后将其传递给ejs。您可以在nodejs中使用 Buffer .
试试这个: products[i] = new Buffer(products[i]).toString('base64'); 希望这有帮助!

相关问题