在 GET 请求中快速生成和 return QR 码
Express generate and return QR code on GET request
我正在尝试根据明确请求生成二维码。它从 URL 参数中获取值,并且 returns 使用文件流作为原始图像的 QR 码。
const express = require('express');
const router = express.Router();
const QRCode = require('qrcode');
router.get('/qr/:content', function(req, res, next){
let content = req.params.content
// Filestream goes here
})
我就是这样尝试的,但是我从来没有使用过文件流,所以我无法让它工作:
let code = QRCode.toFileStream(new stream.Writable, conent)
code.pipe(res);
这是我正在使用的库:https://www.npmjs.com/package/qrcode
试试这个代码:
import QRCode from 'qrcode';
import { PassThrough } from 'stream';
router.get('/qr/:content', async (req, res, next) => {
try{
const content = req.params.content;
const qrStream = new PassThrough();
const result = await QRCode.toFileStream(qrStream, content,
{
type: 'png',
width: 200,
errorCorrectionLevel: 'H'
}
);
qrStream.pipe(res);
} catch(err){
console.error('Failed to return content', err);
}
}
我正在尝试根据明确请求生成二维码。它从 URL 参数中获取值,并且 returns 使用文件流作为原始图像的 QR 码。
const express = require('express');
const router = express.Router();
const QRCode = require('qrcode');
router.get('/qr/:content', function(req, res, next){
let content = req.params.content
// Filestream goes here
})
我就是这样尝试的,但是我从来没有使用过文件流,所以我无法让它工作:
let code = QRCode.toFileStream(new stream.Writable, conent)
code.pipe(res);
这是我正在使用的库:https://www.npmjs.com/package/qrcode
试试这个代码:
import QRCode from 'qrcode';
import { PassThrough } from 'stream';
router.get('/qr/:content', async (req, res, next) => {
try{
const content = req.params.content;
const qrStream = new PassThrough();
const result = await QRCode.toFileStream(qrStream, content,
{
type: 'png',
width: 200,
errorCorrectionLevel: 'H'
}
);
qrStream.pipe(res);
} catch(err){
console.error('Failed to return content', err);
}
}