2
Nodejs 용 qr-image
플러그인을 사용하여 QR 코드를 생성하고 꽤 잘 작동합니다.Nodejs -보기에 qr-image 결과를 표시하는 방법
문제는 결과 이미지를 ejs에 표시하고 있습니다.
var express = require('express');
var router = express.Router();
var qr = require('qr-image');
router.get('/', function(req, res) {
var code = qr.image("text to show in qr", { type: 'png', ec_level: 'H', size: 10, margin: 0 });
res.type('png');
code.pipe(res);
// res.render('index', { title: 'QR Page', qr: code });
});
마지막 줄의 주석 처리를 제거하면 nodejs가 손상됩니다. code
을 변수로 보내려면 어떻게 보내시겠습니까?
업데이트 :
이 코드는 결과 페이지에 [object Object]
를 반환합니다.
var code = qr.image("text to show in qr", { type: 'png', ec_level: 'H', size: 10, margin: 0 });
res.render('index', { title: 'QR Page', qr: code });
또한 CONSOLE.LOG (코드)이 표시됩니다 : 당신은 템플릿 엔진으로 렌더링 된 이미지를 물건하려는
{ _readableState:
{ highWaterMark: 16384,
buffer: [],
length: 0,
pipes: null,
pipesCount: 0,
flowing: false,
ended: false,
endEmitted: false,
reading: false,
calledRead: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
objectMode: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: true,
domain: null,
_events: {},
_maxListeners: 10,
_read: [Function] }
감사합니다. 그러나 '방법'을 모르겠습니다. 플러그인에는 이미지 URL을 가져 오는 옵션이 없습니다. –
@Paul 제안 된 코드가 html id = "qr"위치에 이미지를 배치하는 것을 보지 못했습니다. 나는 파이프 솔루션을 변경하는 방법을 시각화 할 수 없습니다. src =로 이미지 태그를 설정하면 이미지를 잡아서 무엇을해야합니까? 내 코드는 사실 Morteza와 동일합니다. – Ric
나의 예제 라우터가 노출하는 URL은/qr/: text입니다. 이미지 src를 해당 URL로 설정하면 서버는 QR 이미지 바이트를 png로 보내고 브라우저는이를 렌더링합니다. – Paul