さて、これで壁に頭をぶつけます。私はeveryauthからpassportjsに切り替えたところ、Valumsファイルアップローダーの実装を除いて、すべてうまくいきました.
https://gist.github.com/4066155で、私の fileuploader コードの Gist を確認できます。
Express の app.configure は次のようになります。
app.configure( function () {
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', {
layout: false
});
app.use(passport.initialize());
app.use(passport.session());
});
奇妙なことに、app.use(passport.session()); をコメントアウトすると、- ファイル アップローダーは正常に動作しているようです。問題が発生していないため、passport.initialize はそのまま使用できます。
私のコードで passport.session を使用し続けると、アップロード呼び出しが行われ、実際には tmp ディレクトリに一時ファイルが作成されますが、ゼロバイトのままです。サーバーは Web クライアントに応答せず (コールバックなし)、ファイルが fs によって実際に書き込まれることはありません。
正しい方向へのポインターでさえ、非常に役立つ場合があります。さらにコンテキストが必要な場合はお知らせください。ありがとう。
アップデート:
それが役立つ場合は、 req 変数を比較して、passport.session が呼び出されていない場合と、passport.session が呼び出されている場合の違いを確認しました。最初の差分は、passport.session が呼び出されていない場合と、2 番目の差分が呼び出された場合です。URL: http://diffchecker.com/Xk8g434Q - 469 行目はイベントがバインドされていることを示しており、2 番目のテキスト ブロックではイベントが {} (空) になっています。