Я создал базу данных с использованием длинного блоба и сохранил в нем мои изображения. Затем я хотел отобразить изображения на одной из моих веб-страниц ejs. Однако это проявляется как странная надпись. Я знаю, что я должен преобразовать его так, чтобы он работал, я просто не знаю, как это сделать.
Это то, что появляется при запуске моего узла-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? Кроме того, большинство способов, которые я нашел, выглядят очень долго, поэтому я стараюсь быть максимально эффективным. Пожалуйста помоги!
Насколько я понимаю, вам нужно преобразовать ваши двоичные данные в формат base64, а затем передать их в ejs. Вы можете сделать это в NodeJS, используя Buffer
.
Попробуй это:
products[i] = new Buffer(products[i]).toString('base64');
Надеюсь это поможет!