【发布时间】:2020-01-30 12:00:26
【问题描述】:
我有一个包含PDF 文件的目录,我只希望授权用户访问这些文件。目前,问题是当我导航到包含文件夹中给定文件的 URL 时,get 回调没有运行。例如,我希望当我转到 localhost:3000/Buyer_templates/file.pdf 时,它会在 get 中运行回调。目前,它允许我查看 pdf 并且不执行回调。
app.get('/Buyer_templates/*', (req,res) => {
res.redirect('/')
})
如果 url 不是文件(例如 /Buyer_templates/blahblahblah),则上述代码有效
但是,当我输入一个文件名(例如Buyer_templates/file.pdf)时,回调没有被激活。
我也在get中尝试了这些路径
/Buyer_templates/*.*
/Buyer_templates/(.*)
问题是回调没有被执行。当我在 URL 中输入任何 PDF 文件名时,如何才能运行回调?
【问题讨论】:
-
你配置了静态路由吗?
-
@James 我正在使用这个
app.use( express.static(__dirname));(对不起,我是新手) -
如果您使用静态路由,您的 pdf 文件将像 css 文件或图像一样可供所有人使用。使用自定义路由,检查用户是否有凭据,然后才提供静态文件。我对 mp4 视频做了类似的事情,检查它jsfiddle.net/2uqtagn5
标签: javascript node.js express routes