私は使用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つの部分を組み合わせるのを手伝ってもらえますか?ありがとう!