gpt4 book ai didi

node.js - ejs 模板中的 mongodb 图像未显示

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:41 24 4
gpt4 key购买 nike

我正在尝试在 mongodb 中插入图像,然后我想在 ejs 模板中获取并显示该图像。

我的代码:

index.js

var uploadDir=__dirname+'/uploads';
var images=Date.now()+'.jpg';
var storage=multer.diskStorage({
destination:function(request, file, callback){
callback(null, uploadDir);
},
filename:function(request, file, callback){
console.log(file);
callback(null, images);
}
});
var upload=multer({storage:storage}).single('photo');

/*============== blog Insert============*/
router.post('/add', upload, function(req, res, next){
new blogs({
title: req.body.title,
description:req.body.description,
categories:req.body.category,
img:images,
date:Date.now()
}).save(function(err, doc){
res.send('Inserted');
});
});

图像已成功插入到集合中作为文件名,并存储在磁盘空间中。当我尝试通过写入来获取图像时:

<img src="./routes/uploads/<%= blogdata.img%>" />

在我的 View 页面中,图像不存在。我转向该页面的 viewsouce 代码及其显示的完整路径,即

<img src="./routes/uploads/1459772396796.jpg">

最佳答案

显示您定义用于上传的路由/静态文件服务的代码。相对路径没有 URL 的意义,通常您的 URL 也不包含 routes,因此页面源代码应该为 /uploads/1459772396796.jpg

根据您的评论,您有两个静态目录,不确定您是否可以做到这一点,但无论我所说的路径不包含 routes 部分。

关于node.js - ejs 模板中的 mongodb 图像未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36417742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com