如何使用 express 访问安全文件?

How can I access secure files with express?

nodeapp
   -public
            -CSS
                       -style.css
   -pictures
            -secretImage.png
   -views
            -index.hbs
            -login.hbs
            -profile.hbs
   -server.js

const staticFiles = path.join(__dirname, './public')
app.use(express.static(staticFiles))
app.set('view engine', 'hbs')

我将 css 保存在 html 中访问的 public 目录中,如下所示: href="/css/style.css" 这很好,但我需要存储一些只对登录用户可用的图片。如果我的图片在图片文件夹中,我该如何访问它们?

您可以使用sendFile方法...

app.get('/picture/:pictureName', (req, res) => {
     const valid = /* Do your logic to grant access */

     if (valid === false) {
         return res.status(403).send('Not allowed')
     }

     res.sendFile('your file path')
})