繁体   English   中英

使用AWS Lambda和Node.js在API端点上显示图像

Displaying an image on API endpoint using aws lambda and node.js

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

现在,我正在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;
};
1 个回复

如果您仅在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;
};
1 如何使用 SAM CLI 部署 API 网关、Lambda(Node.js) 和 DynamoDB?

我正在尝试在我的本地系统中创建一个应用程序并使用 SAM CLI 将其部署到 AWS 云。 图中给出了该应用程序的基本轮廓。 我为此应用程序创建了一个名为myproj的目录,下图中显示了所有子文件夹和文件。 template.yaml文件包含以下代码 - 在functionRead ...

5 使用node.js显示SVG图像?

完成对node.js的保密。 我是否需要安装插件/模块/ MIME类型才能使node.js在浏览器中显示SVG图像? 我尝试使用<embed>和<object>标记,“需要一个插件来显示此内容”。 要么 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM