Я использую Express.js
и у меня есть маршрут для загрузки изображений, размер которых мне нужно изменить. В настоящее время я просто позволяю Express
записать файл на диск (, который, как я думаю, использует node-formidable
под обложками ), а затем изменить размер с помощьюgm
(http://aheckmann.github.com/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() {
}
}
. Может ли кто-нибудь помочь мне собрать эти две части вместе? Спасибо!