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!