节点Js:在mongodb和nodeJS中显示图像会显示损坏的图像

时间:2016-02-02 14:33:38

标签: javascript angularjs node.js mongodb

因此,在执行了一些文档后,我做了以下操作 这是我的模特;

var doctorSchema = new Schema({
         img: { data: Buffer, contentType: String },
  

This is my backend controller

function uploadPhoto(req, res, next) {
  var imgPath = "C:/emed/public/logo.png";
      var a = new Doctor;
      a.img.data = fs.readFileSync(imgPath);
      a.img.contentType = 'image/png';
      //console.log(a.img.data);
      a.save(function (err, a) {
        if (err) console.log('success');
        console.error('saved img to mongo');

      });
      Doctor.findById(a, function (err, doc) {
        if (err)console.log("error");
        var base64 = (doc.img.data.toString('base64'));
        res.send(base64);

这是我的角度成功函数,我将它与范围变量一起存储并将图像显示在我的视图中b。 但是我的图像已经破了?...任何人都可以帮我解决这个问题。

.success(function (data) {
        $scope.image = data;
        console.log(data);

我在玉模板中的视图是这样的。

 img(ng-src = '{{image}}' err-src="/assets/img/user.jpg" alt="")

1 个答案:

答案 0 :(得分:1)

我的猜测是你还没有构建数据URI

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

Doctor.findById(a, function (err, doc) {
   if (err)console.log("error");
   var base64 = doc.img.data.toString('base64');
   res.send('data:'+doc.img.contentType+';base64,' + base64);