我做了一个文件上传并在mongodb中保存它的路径,并希望在html中显示该图像这里是我的上传文件代码
route.post('/dashboard/upload',ensureAuthenticated,(req,res) => {
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
// console.log(files.file_thumbnail.type);
if(files.file_thumbnail.type !== 'image/jpeg' ){
console.log("File is not image");
res.render('upload');
} else {
var oldpath = files.file_thumbnail.path;
var newpath = '../uploads/' + files.file_thumbnail.name;
fs.rename(oldpath, newpath, function (err) {
if (err) throw err;
// console.log(fields.file_name);
console.log('File uploaded successfully!');
res.render('upload');
var newfile = new file({
caption : fields.caption,
file_thumbnail : newpath
});
newfile.save()
.then(chllange => {
console.log("New File Added");
})
.catch(err => console.log(err));
});
}
});
});
这是我的节目图片代码
route.get('/dashboard/files',(req,res) => {
file.find({},['file_thumbline','caption'],{sort:{_id:-1}}, (err, data) => {
console.log(data);
res.render('files', {file: data});
});
});
这是我的图像HTML代码
<img src="<%= file.file_thumbnail %>" alt="Image">
<p><%= file.caption %></p>
错误是在渲染代码之后显示更改文本,在inspect元素中显示img src(未知)
在显示图像代码中编辑
console.log(data);
它返回所有json数据,但是当我得到时
console.log(data.caption);
它返回undefined
在显示图像代码中编辑
的console.log(数据);
它返回所有json数据,但是当我得到时
的console.log(data.caption);
它返回undefined
您正在从mongo收到一个数组。因此,如果您想要访问它,您需要选择一个项目即。数据[0] .caption
你不必在像这样的图像标签中关闭它吗?
<img src="<%= file.file_thumbnail %>" alt="Image">