一旦在node.js Web服务器上生成了一个图像(使用快速),最简单的方法是什么?

我使用express 4框架在node.js中创build了一个小型Web服务器。 当用户从主网页提交图像文件时,通过multer中间件上传到服务器,由python脚本进行处理,然后将生成的图像保存在服务器上。

一旦完成并保存在服务器上,我可以将完成的处理后的图像发送回客户端,最简单的方法是什么?

方法1 :从nodejsstream式传输

如果你的意思是将结果文件传输到客户端,你可以做这样的事情

var fileStream = fs.createReadStream(filename); fileStream.on('error', function (error) { response.writeHead(404, { "Content-Type": mimetype}); response.end("file not found"); }); fileStream.on('end', function() { console.log('sent file ' + filename); response.end(""); }); fileStream.pipe(response); 

作为mimetype,从这里使用一个http://www.sitepoint.com/web-foundations/mime-types-complete-list/

方法2 :利用公共文件

但是使用快递,我认为最好的方法是将生成的图像保存到快速公开的文件夹中,并且将这些文件传送给客户。

 <img src="server.com/public/generated.jpg"> 

我特别推荐这种方法,因为当使用nodejs / express与反向代理(nginx或类似的)时,您可以直接将公共文件夹提供给客户端,而无需通过nodejs堆栈传递请求。

请参阅http://expressjs.com/starter/static-files.html