一旦在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堆栈传递请求。