私は使用Express.jsしていて、画像をアップロードするルートがあり、サイズを変更する必要があります。現在Express、ファイルをディスクに書き込んでから(http://aheckmann.github.com/gm/)をnode-formidable使用してサイズを変更し、2番目のバージョンをディスクに書き込みます。gm
gm(path)
.resize(540,404)
.write(dest, function (err) { ... });
node-formidableディスクに書き込む前にファイルストリームを保持できることを読みましgmた。パスだけでなくストリームを受け入れることができるので、ディスクへの二重書き込みを排除することで、これを正しく渡すことができるはずです。
オーバーライドする必要があると思いますform.onPartが、どこで(Expressミドルウェアとして実行する必要がありますか?)わかりません。また、を取得する方法formや、を正確に処理する方法もわかりませんpart。これは私がいくつかの場所で見たコードスケルトンです:
form.onPart = function(part) {
if (!part.filename) { form.handlePart(part); return; }
part.on('data', function(buffer) {
});
part.on('end', function() {
}
}
誰かが私がこれらの2つの部分を組み合わせるのを手伝ってもらえますか?ありがとう!