gpt4 book ai didi

javascript - Node.js 和 Express - 登录和下载后重定向

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:18 27 4
gpt4 key购买 nike

我有一个 Express 应用程序,允许用户登录和下载数据文件。登录后还有一个主页。如果用户在未登录的情况下输入特定文件的 URL,应用程序将首先要求用户登录,这是设计使然。但是,用户登录后,会下载该文件,而不会将用户重定向到主页。我想有没有办法让用户登录后重定向到主页,然后一键下载文件。现在有点困惑,因为用户成功后卡在登录页面登录并下载文件。下面是代码片段。我正在使用express 4.x:

app.get('/dat/:file(*)', routes.ensure_authenticated, function(req, res, next) {
var path = __dirname + '/public/dat/' + req.params.file;
res.download(path);
});
app.use('/', serveStatic(__dirname + '/public'));

// dat directory requests
app.use('/dat', routes.ensure_authenticated, serveIndex( 'public/dat', { icons: true }));

最佳答案

我想不出一种仅在服务器端执行此操作的方法。

您可以触发客户端重定向到下载。

类似于重定向到 /#download=link_or_id并使用 JavaScript 解析哈希值以获得最终的下载链接(link_or_id 东西)。然后,在触发下载后,从位置中删除哈希值,以便当用户重新加载页面时不会再次触发下载。

此外,您可以执行类似的重定向到 /?download=link_or_id 的操作,而不是使用 JavaScript和服务器端插入 meta refresh里面的标签<head> .

关于javascript - Node.js 和 Express - 登录和下载后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28052074/

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