アップロードされた画像をヒスイで表示する方法を知りたいと思っていました。以下に私のコードサンプルの一部を示します
画像のアップロード
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
});
}
});
});
});
そして私のview.jadeでは、写真を表示するために使用します
img(src='#{file}')
しかし、表示されません。誰か助けてください!!