我是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?
你觉得怎么样?
目前我没有在本地实施数据库。
答案 0 :(得分:0)
经过一段时间,当我回到主题时,我找到了解决方案。 您需要向管道添加新操作。 简单:
var code = qr.image(ticket.code, { type: 'svg' });
code.pipe(fs.createWriteStream('i_love_qr.svg'));