0

我想知道如何在翡翠中查看上传的图片,下面是我的一些代码示例

上传图片

 app.post('/add', function (req, res, next) {
   var person = new Person({
     image: './public/images/' + req.files.person.image.name;
   });

   var tmp_path = req.files.person.image.path;
   var target_path = './public/images/' + req.files.person.image.name;

   fs.rename(tmp_path, target_path, function (err) {
    if (err) {
      return next(new Error(err));
    }

    fs.unlink(tmp_path, function (err) {
      if (err) {
        console.log(err);
      }

      person.save(function (err) {
        if (err) {
          return next(new Error(err.message));
        }

        res.redirect('/view/' + person._id);
      });
    });
  });
});

人员查看页面

app.get('/view/:id', function (req, res, next) {
  Person.findById(req.params.id, function (err, person) {
    if (err) {
      return next(new Error(err));
    }

    if (!person) {
      return next(new Error('Invalid reference to person information'));
    }

    fs.readFile(person.image, 'binary', function (err, file) {
      if (err) {
        return next(new Error(err));
      } else {
        res.render(path + 'view', {
          title: title,
          person: person,
          file: file
        });
      }
    });
  });
});

在我看来.jade 我用来显示图片

img(src='#{file}')

但它没有被显示,请有人帮助我!

4

3 回答 3

0

视为file括号内的 javascript 变量

img(src=file)
于 2013-04-29T16:31:10.157 回答
0

你可以试试 img(src='#{locals.file}')

于 2013-05-04T17:03:21.407 回答
0

这段代码对我有用,可以用 Jade 显示图像。

 .image-block
      h2 
      img(src="/image.jpg" alt="image not found")

或者

img(src="/#{pathTOImage}" alt="image not found")

在 pug 中,您必须编写如下代码:

img(src="/" + pathTOImage)
于 2017-06-08T20:20:05.907 回答