首页 > 解决方案 > 无法在数据表中显示图像 (Javascript)

问题描述

我已经搜索了整个互联网。一切进展顺利,我正在使用以下模式将带有 NodeJs 的图像上传和检索到 MongoDB:

image: {
    data: fs.readFileSync(path.join(__dirname, '/public/uploads/', req.file.filename)),
    contentType: req.file.mimetype
},

使用 pug 显示图像非常简单:

img(src='data:'+data.image.contentType+';base64,'+data.image.data.toString('base64') rel='nofollow' alt='...')

当我尝试像这样在 dataTables 中显示图像时出现问题:

$(nTd).html("<img src='data:image/"+oData.image.contentType+";base64,"+oData.image.data.toString('base64')+"' class='rounded-circle' height='53'>");

它不起作用,无论我尝试什么,结果都是:

<img src="data:image/image/jpeg;base64,[object Object]" class="rounded-circle" height="53">`

请帮忙。

我的服务器端脚本的一部分

Candidato.find(searchStr, 'image nome status createdAt vaga',{ sort: {[sortColumn]: sortOrder}, 'skip': Number( req.body.start), 'limit': Number(req.body.length) }, function (err, results) {
        if (err) {
                console.log(chalk.red('erro ao obter resultados'+err));
                return;
        }
        var data = JSON.stringify({
                "draw": req.body.draw,
                "recordsFiltered": recordsFiltered,
                "recordsTotal": recordsTotal,
                "data": results
            });
            res.send(data);
        });

标签: javascriptnode.jsmongodbdatatables

解决方案


解决了!我使用 Mongoose lean() 方法以纯 JavaScript 格式返回文档!——</p>

Usuario.find(searchStr, 'image.thumbnail nome tipo status createdAt',{ sort: {[sortColumn]: sortOrder}, 'skip': Number( req.body.start), 'limit': Number(req.body.length) }, function (err, results) {
    if (err) {
        console.log(chalk.red('erro ao obter resultados'+err));
        return;
    }
    var data = JSON.stringify({
        "draw": req.body.draw,
        "recordsFiltered": recordsFiltered,
        "recordsTotal": recordsTotal,
        "data": results
    });
    res.send(data);
}).lean();;


推荐阅读