使用NodeJs,Express,EJS从Mysql获取图像

时间:2018-04-06 08:33:19

标签: javascript mysql node.js express ejs

我想使用NodeJS和EJS模板从MySQL获取图像。 我认为问题是我无法将buff数据传输到base64。 我尝试了很多解决方案,但没有成功。我的当前代码是......

Index.ejs

<% for ( var i = newsData.length -1; i >= 0; i--){ %>
<img src="<%= newsData[i].image %>">
<h3><%= newsData[i].title  %></h3>    //Which is working
<p><%= newsData[i].content %></p>     //Which is working

我尝试过使用

<%- newsData[i].image %>

这给了我......的结果。

Website show data

routes.js

app.get('/news', isLoggedIn, function({user}, res, next) {

var newsData = '';
db.query('SELECT date,title,content,image FROM news', function(err, rows) {
    if (err) {
        console.log(err);
    }
    var newsData = rows;

    // use index.ejs
    res.render('../views/dashboard/html/table/news.ejs', { title: 'Account Information', newsData: newsData, user});

});

});

顺便说一句,我在Mysql中存储的图像格式是“Blob”。感谢

亲切的问候。

1 个答案:

答案 0 :(得分:0)

尝试以下代码

<img src="data:image/jpeg;base64,<%- newsData[i].image %>"/>