因此,经过整理一些文档后,我做了以下工作
这是我的模型;

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="")

最佳答案

我的猜测是您尚未构建数据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);

09-25 17:44
查看更多