[英]Displaying an image on API endpoint using aws lambda and node.js
現在,我正在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文件並將其存儲。 我希望在lambda上使用的功能是在訪問端點時僅顯示圖像(不涉及保存)。 但是我不確定該怎么做(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;
};
如果您僅在lambda的幫助下返回圖像,則同步也將起作用,此處為該代碼
const sendRes = (status, body) => {
const svg_string = qr.imageSync('http://www.nodejs.org', { type: 'png', size: 20 });
var response = {
statusCode: status,
headers: {
"Content-Type": "image/jpeg"
},
body: svg_string
};
return response;
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.