我上传了一个文件并将其路径保存在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);
返回未定义
答案 0 :(得分:0)
在显示图片代码中进行编辑
console.log(data);
它返回所有json数据,但是当我得到
console.log(data.caption);
返回未定义
您正在从mongo收到一个数组。因此,如果要访问它,则需要选择一个项目,即。数据[0]。标题
答案 1 :(得分:-1)
您不必像这样在图像标签中将其关闭吗?
<img src="<%= file.file_thumbnail %>" alt="Image">