Transmitir arquivo carregado com o Express.js por meio do gm para eliminar a gravação dupla
estou a usarExpress.js
e ter uma rota para carregar imagens que eu preciso redimensionar. Atualmente eu apenas deixoExpress
gravar o arquivo em disco (que eu acho que usanode-formidable
debaixo das cobertas) e depois redimensionar usandogm
(http://aheckmann.github.com/gm/) que grava uma segunda versão em disco.
gm(path)
.resize(540,404)
.write(dest, function (err) { ... });
Eu li que você pode se apossar donode-formidable
fluxo de arquivos antes de gravá-lo no disco egm
pode aceitar um fluxo em vez de apenas um caminho, eu deveria ser capaz de passar isso através da eliminação da gravação dupla em disco.
Eu acho que preciso substituirform.onPart
mas não tenho certeza de onde (deveria ser feito comoExpress
middleware?) e eu não tenho certeza de como obterform
ou o que exatamente a ver com opart
. Este é o esqueleto de código que vi em alguns lugares:
form.onPart = function(part) {
if (!part.filename) { form.handlePart(part); return; }
part.on('data', function(buffer) {
});
part.on('end', function() {
}
}
Alguém pode me ajudar a juntar essas duas peças? Obrigado!