Сейчас я редактирую встроенный код в AWS lambda.Это то, что у меня сейчас:
var qrImage = require('qr-image');
exports.handler = async (event) => {
return sendRes(200,'hi');
};
/*
const sendRes = (status, body) => {
var response = {
statusCode: status,
headers: {
"Content-Type": "text/html"
},
body: body
};
return response;
};
*/
const sendRes = (status, body) => {
const svg_string = qrImage.imageSync('http://www.nodejs.org',{ type: 'png', size: 20 });
var response = {
statusCode: status,
headers: {
"Content-Type": "image/jpeg"
},
body: svg_string
};
return response;
};
Это выводит текст Внутренняя ошибка сервера.
Приведенный ниже код создает файл png и сохраняет его.Функциональность, которую я хотел бы использовать для лямбды, - просто отображать изображение (без сохранения), когда я получаю доступ к конечной точке.Но я не уверен, как это сделать (новичок в Lamda, Node.js).Что именно я должен изучить?
var qrImage = require('qr-image');
var fs = require('fs');
qrImage
.image("http://www.nodejs.org", {type:'png', size:20})
.pipe(fs.createWriteStream("MyQRCode.png"));
РЕДАКТИРОВАТЬ Я сделал несколько небольших изменений, и это, кажется, работает
var qrImage = require('qr-image');
exports.handler = async (event) => {
return sendRes(200,'hi');
};
const sendRes = (status, body) => {
const svg_string = qrImage.imageSync('this is AWS!', { type: 'svg', size: 10 });
var response = {
statusCode: status,
headers: {
"Content-Type": "image/svg+xml"
},
body: svg_string
};
return response;
};