例に従う
https://github.com/visionmedia/express/blob/master/examples/multipart/app.js
Express.js はすべての作業を舞台裏で行っているようで、ファイルを保存して全体を提供します。生ストリームを傍受して操作するにはどうすればよいですか? 具体的には、ストリームを取得して、書き込みストリームに接続できるようにしたいと考えています。
例に従う
https://github.com/visionmedia/express/blob/master/examples/multipart/app.js
Express.js はすべての作業を舞台裏で行っているようで、ファイルを保存して全体を提供します。生ストリームを傍受して操作するにはどうすればよいですか? 具体的には、ストリームを取得して、書き込みストリームに接続できるようにしたいと考えています。
formidable を使用するミドルウェアを作成し、そこでストリームをインターセプトしない限り、できません (解決策は、Express で使用される bodyParser をカスタムのものに変更することです)。
次のファイルでご確認ください: https://github.com/senchalabs/connect/blob/master/lib/middleware/multipart.js
フックできる「グローバル」イベントがないことに注意してください。
これを使用できます:
app.use(express.multipart({ defer: true }));
次に、ルートで:
app.post('/upload', function (request, response, next) {
request.form.onPart = function (part) {
// Default handling for non-files
if (!part.filename) return form.handlePart(part);
// part is a stream of the file
};
request.form.parse(request, function (error) {
if (error) return next(error);
});
});