从节点js中的数据库中检索图像

问题描述 投票:0回答:2

我做了一个文件上传并在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

javascript node.js mongodb multer
2个回答
0
投票

在显示图像代码中编辑

的console.log(数据);

它返回所有json数据,但是当我得到时

的console.log(data.caption);

它返回undefined

您正在从mongo收到一个数组。因此,如果您想要访问它,您需要选择一个项目即。数据[0] .caption


-1
投票

你不必在像这样的图像标签中关闭它吗?

<img src="<%= file.file_thumbnail %>" alt="Image">
© www.soinside.com 2019 - 2024. All rights reserved.