如何在AngularJS网页中通过Node.js显示存储在Mongodb中的图像(PNG)文件?

时间:2014-03-07 19:56:38

标签: image node.js angularjs mongodb png

我能够使用类似于以下代码的方法将png图像存储在MongoDB中:

// server.js
q.desc.data = fs.readFileSync(__dirname + '/logo.png');
q.desc.contentType = 'image/png';

但是,我无法让图像显示在AngularJS控制的网页中。可以在页面内检索图像数据,但是下面的行显示为文本“”,可能是因为BSON格式与原始数据不同。

// core.js (on the client Angular side)
$scope.q.desc.data = '<img src="data:image/png;base64,' + $.base64.encode($scope.q.desc.data) + '" />';

到目前为止,我发现在浏览器中显示图像的唯一方法是从后端独立发送它:

// server.js
res.contentType(doc.desc.contentType);
res.send(doc.desc.data);

但是我们如何将这个图像嵌入网页? Web浏览器无法直接下载/缓存图像,因为该图像没有URL。它存在于MongoDB中。谢谢!

0 个答案:

没有答案