【发布时间】:2012-08-01 17:37:29
【问题描述】:
我正在使用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() {
}
}
谁能帮我把这两部分放在一起?谢谢!
【问题讨论】:
标签: javascript node.js express graphicsmagick