Node.js Express将SVG文件流保存到文件

时间:2018-05-28 20:28:28

标签: node.js express svg qr-code

我是Express的新手,我需要你的帮助。

如何使用Express在服务器上保存SVG?

const qr = require('qr-image');
const fs = require('fs');
exports.qr = function (req, res) {
   var code = qr.image(new Date().toString(), { type: 'svg' });

   // I would like to do something like this:
   fs.writeFile('qr.svg', code, (er)=> console.log(er)); 
   // and download using express.static


   res.type('svg');
   code.pipe(res);
};

目前我将图像作为流返回,并且工作正常。

我有一个基于Express构建的mongodb api,我想在服务器端存储QR码。 Api用于使用Xamarin管理事件票据构建的应用程序。

QR图像将不止一次下载,这就是我想将它们放在服务器上的原因。

也许更好的方法是在客户端设备上本地存储SQLite?或者我应该只发送json数据进行解析到SVG?

你觉得怎么样?

目前我没有在本地实施数据库。

1 个答案:

答案 0 :(得分:0)

经过一段时间,当我回到主题时,我找到了解决方案。 您需要向管道添加新操作。 简单:

var code = qr.image(ticket.code, { type: 'svg' });
code.pipe(fs.createWriteStream('i_love_qr.svg'));