我能够使用类似于以下代码的方法将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中。谢谢!