节点.js和快速 - 登录和下载后重定向
Node.js and Express - Redirect after Login and Download
我有一个快速应用程序,允许用户登录和下载数据文件。 登录后还有一个主页。 如果用户在未登录的情况下输入特定文件的 URL,则应用程序将首先要求用户登录,这是设计使然。 但是,在用户登录后,将下载文件,而不会将用户重定向到主页。我想知道是否有办法允许用户登录,重定向到主页,然后在用户登录后一键下载文件。 现在有点令人困惑,因为用户在成功登录并下载文件后被困在登录页面上。 下面是一段代码。我正在使用快递 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,在 <head>
中插入元刷新标记。
您可以通过 setTimeout 或在文档加载时以编程方式从客户端发送 ajax GET 请求,因此它将如下所示:
$(function() {
$.get('/dat/filename', function(){
//enter code here
});
}):
相关文章:
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 尝试使用Phonegap进行php登录
- 通过javascript下载文件时设置文件名
- 如何在Edge中下载图像/png数据URI
- Facebook登录按钮没有'不能在Firefox上工作
- 使用javascript反复检查用户在facebook上的登录状态
- 下载使用POST数据动态生成的文件
- 在提交时打开thankyou.html+下载PDF
- 节点.js和快速 - 登录和下载后重定向
- AngularJS + Web API -如何安全地下载excel文件而无需再次登录
- 点击登录按钮时,一个.ttf文件正在下载到我的本地机器上
- 如何以编程方式登录网站并下载文件