实际上,“ public”文件夹的缓存控件是由固定的:
->add('file', FileType::class, [
'label' => 'Choisir un fichier',
'mapped' => false,
'multiple' => true,
'constraints' => [
new All([
'constraints' => [
new File([
'maxSize' => '1024k',
'mimeTypesMessage' => 'Please upload a valid PDF document',
'mimeTypes' => [
'application/pdf',
'application/x-pdf'
]
]),
],
]),
]
])
当用户未通过身份验证或会话未到期时,我想将maxAge重置为0。
有办法吗? 预先感谢您的帮助。
答案 0 :(得分:0)
我认为您可以这样做,希望这可能对您有用
if(user === authenticated){
app.use('/public/images/icons', static('public/images/icons', 12345));
app.use('/public/images/', static('public/images', 1234567);
etc.
}
//function declaration
function static(dirname, age) {
return express.static(path.join(__dirname, dirname), { maxAge: age });
}
答案 1 :(得分:0)
已解决。
关于我的原始请求:
function userConnect(req, res){
...
res.setHeader('Clear-Site-Data', '"cache", "storage"');
....
但是现在,我正在使用:
const serverStarted = moment().unix();
....
app.get("*",function(req, res, next){
if (req.session&&req.session.serverStarted!=serverStarted) {
res.setHeader('Clear-Site-Data', '"cache", "storage"');
req.session.serverStarted = serverStarted;
}
next();
})