Plik strumieniowy przesłany z Express.js przez gm, aby wyeliminować podwójne zapisywanie

używamExpress.js i mieć trasę do przesyłania obrazów, które następnie muszę zmienić rozmiar. Obecnie tylko pozwalamExpress zapisz plik na dysku (który, jak myślę, używanode-formidable pod okładkami), a następnie zmień rozmiar za pomocągm (http://aheckmann.github.com/gm/), który zapisuje drugą wersję na dysku.

gm(path)
  .resize(540,404)
  .write(dest, function (err) { ... });

Czytałem, że możesz zdobyćnode-formidable strumień plików przed zapisaniem go na dysku i od tego czasugm może zaakceptować strumień, a nie tylko ścieżkę, powinienem być w stanie przekazać ten strumień przez wyeliminowanie podwójnego zapisu na dysk.

Myślę, że muszę nadpisaćform.onPart ale nie jestem pewien gdzie (powinno być zrobione jakExpress middleware?) i nie jestem pewien, jak go zdobyćform lub co dokładnie zrobić zpart. To jest szkielet kodu, który widziałem w kilku miejscach:

form.onPart = function(part) {
    if (!part.filename) { form.handlePart(part); return; }

    part.on('data', function(buffer) {

    });
    part.on('end', function() {

    }
}

Czy ktoś może mi pomóc połączyć te dwa kawałki? Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion