Node.js Express сохранить поток файлов SVG в файл - PullRequest
0 голосов
/ 28 мая 2018

Я новичок в Express и мне нужна ваша помощь.

Как сохранить SVG на сервере с помощью Express?

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);
};

В настоящее время я возвращаю изображение какпоток, и он работает нормально.

У меня есть API с mongodb, построенный на Express, и я хотел бы хранить QR-коды на стороне сервера.Api для приложения, созданного с помощью Xamarin, управляющего билетами на события.

QR-изображения будут загружаться более одного раза, поэтому я бы хотел разместить их на сервере.

Может быть, лучшим способом было бы хранить их с SQLite локально на клиентском устройстве?Или, может быть, мне просто нужно отправить данные json для анализа в SVG?

Как вы думаете?

В данный момент я не использую db локально.

1 Ответ

0 голосов
/ 10 июня 2018

Через некоторое время, когда я вернулся к теме, я нашел решение.Вам нужно добавить новое действие в вашу трубу. Просто так:

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