Как отобразить изображение типа blob на веб-странице ejs?

0

Я создал базу данных с использованием длинного блоба и сохранил в нем мои изображения. Затем я хотел отобразить изображения на одной из моих веб-страниц ejs. Однако это проявляется как странная надпись. Я знаю, что я должен преобразовать его так, чтобы он работал, я просто не знаю, как это сделать.

Это то, что появляется при запуске моего узла-js-сервера: Изображение 174551

Это код, который я использую в 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? Кроме того, большинство способов, которые я нашел, выглядят очень долго, поэтому я стараюсь быть максимально эффективным. Пожалуйста помоги!

Теги:
ejs
blob

1 ответ

0

Насколько я понимаю, вам нужно преобразовать ваши двоичные данные в формат base64, а затем передать их в ejs. Вы можете сделать это в NodeJS, используя Buffer.

Попробуй это:

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

Надеюсь это поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню