gpt4 book ai didi

javascript - 重定向图像文件获取请求 Express 4.x 和 Handlebars

转载 作者:行者123 更新时间:2023-11-28 07:16:03 25 4
gpt4 key购买 nike

我有以下路线:

index.js:

router.get('/', function(req, res, next) {
var flag = "true";
var hflag = "true";
res.render('index',{title:"My Blog",header: hflag, login: flag, categories:blogEngine.getBlogEntries()});
});

router.get('/article/:id', function(req, res) {
var entry = blogEngine.getBlogEntry(req.params.id);
var img = entry.img;
res.render('article',{title:entry.title, gedjit:entry});
res.redirect(img);
});

在“/”路径中,我从公共(public)静态文件夹“images”加载图像列表。在我单击其中一张图像之前,这一切正常。我想在新页面中显示单击的图像。

这是我的 Handlebars 文件;

文章.hbs:

<h1>{{gedjit.title}}</h1>
<div class="gedjit">
<img class="img" src="{{gedjit.img}}">
</div>
<br>
<p>Description: {{gedjit.description}}</p>

问题在于,handlebars 发送的是“localhost/article/images/source.jpeg”路由,而不是像/路由中那样发送到“localhost/images/source.jpeg”的路由。

有没有办法重定向路线并从 Handlebars 发送到服务器的获取请求中删除文章?

最佳答案

我发现了问题所在。

首先我的图片源url前面没有/; “images/sources.jpeg”而不是“/images/sources.jpeg”

其次,我使用了两条路由分别发送部分文件和图像文件,这样在从express发送错误后我就不会收到can't set headers的错误。

/articles/:id 路由现在看起来像这样;

index.js

router.get('/article/:id', function(req, res) {
var entry = blogEngine.getBlogEntry(req.params.id);
var img = entry.img;
res.render('article',{title:entry.title, gedjit:entry});
res.sendFile(img);
});

关于javascript - 重定向图像文件获取请求 Express 4.x 和 Handlebars ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30814112/

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