在Express.js中,无法使用filefilter
重定向到其他页面。filefilter
是Multer中的一个函数,用于过滤上传的文件。它通常用于检查文件的类型、大小等,并决定是否接受或拒绝上传的文件。
重定向到其他页面通常使用res.redirect()
方法,它将客户端重定向到指定的URL。例如,如果要将用户重定向到/otherpage
页面,可以使用以下代码:
app.get('/redirect', function(req, res) {
res.redirect('/otherpage');
});
这将在客户端发出GET请求/redirect
时将其重定向到/otherpage
页面。
如果你想在重定向之前使用filefilter
过滤上传的文件,可以在处理上传请求的路由处理程序中使用filefilter
函数。例如:
const multer = require('multer');
const upload = multer({ dest: 'uploads/', fileFilter: fileFilter });
app.post('/upload', upload.single('file'), function(req, res) {
// 处理上传的文件
// ...
res.redirect('/otherpage');
});
function fileFilter(req, file, cb) {
// 进行文件过滤逻辑
// 如果接受文件,调用 cb(null, true)
// 如果拒绝文件,调用 cb(null, false)
}
在上面的示例中,upload.single('file')
中间件将处理上传的文件,并在处理程序中调用fileFilter
函数进行过滤。如果文件被接受,处理程序将继续处理上传的文件,并将客户端重定向到/otherpage
页面。
请注意,以上示例中的代码仅为演示目的,实际应用中可能需要根据具体需求进行适当的修改和扩展。
关于Express.js和Multer的更多信息,你可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云