multer
Express4のマルチパートミドルウェアとして使用しています。
Express はパスポートを認証ミドルウェアとして使用するように構成されていますが、ユーザーが認証されていない場合にファイルのアップロードを防止する方法が見つかりません。
onFileUploadStart を使用してファイルを拒否しようと考えましたが、ユーザーを照合できる"request" オブジェクトとのリンクが見つかりません。
以下のコードは、express と multer を構成する際に使用します。
...
// Multipart file upload
app.use(multer(
{
dest: wwwroot + path.sep + 'uploaded' + path.sep,
onFileUploadStart: function (file) {
//TODO : apply security check : user auth, file size, number...
console.log(file.fieldname + ' is starting ...')
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path)
}
}));
...
app.use(passport.auth.initialize());
app.use(passport.auth.session());